more prototypes

Prof. Moray n.moray at
Tue Mar 3 12:10:32 UTC 1998

The phrase is "ex nihilo" - classical Latin for "out of nothing" :>)

>It has already been mentioned that there are two ways to
>create new objects:
> - ask a factory object to build one from a kind of blueprint
> - ask a similar object for a copy of itself
>There is also an important variant of the first kind - ask
>a special factory (the parser) to build an object from a
>textual description, like
>    #('help' with this 2)
>This is sometimes called "creating from nothing" (or
>"ex nilo" creation, or something equally silly) which
>is only accurate if we consider the parser to be
>One important use of classes is as a factory object that
>understands the #new message. We don't really need this,
>as cloning and literal object are quite sufficient. But
>classes also are used for reflection - they hold the
>meta-level information about their instances that is
>needed by the programming environment.
>If we eliminate classes, then we will need to create new
>objects (Self calls them mirrors) so we can still write
>the programming environment within the same language. So
>it would seem that nothing is gained by getting rid of
>classes, but this is not true as these mirrors can be
>created "on the fly" only when needed instead of having
>to hang around all the time.
>My own experience is that having to create classes before
>you can make an instance is as bothersome as having to
>declare all of your variable types. It is so much better
>to point to something on the screen, copy it, call up its
>definition and then start hacking away. With the ability
>to drag-n-drop objects, cleaning up the mess you make is
>hardly a chore later on.
>-- Jecel

Work email:   N.Moray at
Home email:  nmoray at

send messages to both if Urgent

Work address:
DERA Professor of Applied Cognitive Psychology,
Department of Psychology,
University of Surrey,
Surrey  GU2 5XH
United Kingdom.

Phone number: +44-(0)1483-300-800 and ask for extension 2865
Fax: +44-(0)1483-32813

Home address:
10a Hampstead Hill Gardens,
London NW3 2PL.

Phone: +44-(0)171-431-4813

"Be well, do good work, and keep in touch"  (Garrison Keiler)

More information about the Squeak-dev mailing list