Informally specifying Squeak

Sam Adams ssadams at
Tue Apr 16 01:00:41 UTC 2002

you might want to take a look at
This was an effort to provide a kind of specification of intent for
Smalltalk methods and classes.

Sam S. Adams, IBM Distinguished Engineer, IBM Research
tie line 444-0736, outside 919-254-0736, email: ssadams at
<<Hebrews 11:6, Proverbs 3:5-6, Romans 1:16-17, I Corinthians 1:10>>

                      David Faden <dfaden at>                                                                                              
                      Sent by:                                To:       squeak-dev at                                   
                      squeak-dev-admin at lists.squeakfou        cc:                                                                               
                                         Subject:  Informally specifying Squeak                                            
                      04/14/2002 01:19 AM                                                                                                       
                      Please respond to squeak-dev                                                                                              

    I'm considering doing an independent study project and am wondering
how I might make the results of the project useful to the Squeak
community.  The project would involve revising an informal specification
of Smalltalk's key built-in types (based on Little Smalltalk) to fit
with Squeak. The present version of the document, "Overview and
Specification of the Built-In Types in Little Smalltalk" by Gary Leavens
and Yoonsik Cheon, is available at and is cached
    For example, Boolean's and: method is specified as follows:
and:     self: Boolean, aBlock: Block -> b: Boolean
    Requires: aBlock takes no arguments and returns a Boolean.
    Modifies at most: the objects modified by the execution of aBlock.
    Ensures: b is false if self is false; otherwise b is the result of
evaluating aBlock.

    What could I do to make this work most useful to the Squeak community?
    How would you suggest presenting the specification? (My first
inclination is to insert a method's specification into its comment so as
to make the specification available from a browser.)
    Thank you.


More information about the Squeak-dev mailing list