Subject: Re: 1. uiopeek? 2. hashinit/hashdone?
To: None <tech-kern@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-kern
Date: 06/04/2006 21:09:04
> It all comes down to what is in the interface contract.  Anything you
> document becomes part of that contract to the outside world, and thus
> difficult to change.

That depends.  *Good* interface contract documentation includes things
like "what happens if hashdone is called on a non-empty hash table is
undefined", specifically giving the implementation latitude to change.
While it doesn't actually *prevent* people from testing (or looking) to
see what the implementation does and then depending on it, it *does*
make it clear whose fault it is when an implementation change breaks
the resulting code.

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B