On Wed, 29 Mar 2000, Andrew Hunt wrote: [..] > Somehere here I have a paper on Eiffel-like assertions in Smalltalk > (I think it was from a university in Spain), I'll see if I can > dig that up. http://www.elj.com/elj.cgi?article=19990227c http://apolo.lcc.uma.es/~ernesto/pubs/ps/tools94.ps.gz [Eiffel/DbC/Paper] Eiffel-like Assertions and Private Methods in Smalltalk by M. Carrillo, J. Garca, E. Pimentel ``Abstract: In this paper, we describe the current state of a project whose aim is the extension of the Smalltalk environment by incorporating mechanisms and tools promoting the development of quality software. We have included in the Smalltalk context a number of possibilities, which were not available in the original definition of the language. In this sense, assertions can be specified in our extension, in an Eiffel-like style, so gaining all benefits that the use of assertions bring with them. We also propose an approach to declare private methods, so that the information hiding capability of Smalltalk is improved. These mechanisms are integrated with a new browser and documentation tools increasing the understanding of the class behaviour. The extension has been made by maintaining the Smalltalk philosophy; that is, all elements incorporated to get the new characteristics are defined only using Smalltalk components. ..'' More DbC links are here: http://www.elj.com/elj.cgi?search=dbc http://www.elj.com/elj.cgi?search=contract -- you will find some Python related links here and here: http://www.elj.com/#design_by_contract > I find DBC to be an amazing tool to find obscure bugs, and > even just *thinking* about what the preconditions and invariants > for a class should be is a huge help. Yep, it is a pity that Eiffel has been so universally rejected by the main stream software development community. Geoff Eldridge -- geoff / elj.com -- http://www.elj.com/elj-daily.cgi