A declarative model of Smalltalk (was Re: [DOCS] SUnit tests)
hannes.hirzel.squeaklist at bluewin.ch
Fri Feb 21 22:05:55 UTC 2003
Hannes Hirzel <hannes.hirzel.squeaklist at bluewin.ch> wrote:
> John W. Sarkela <sarkela at sbcglobal.net> wrote:
> > On Friday, February 21, 2003, at 12:35 PM, Hannes Hirzel wrote:
> > [...]
> > >>>
> > >> YES YES YES. This is perhaps the most hotly misunderstood
> > >> aspect of the ANSI standard. It is a non-reflective declaration
> > >> powerful enough to describe a fully reflective runtime program.
> > >>
> > >> Most users of VSE never realized that they were revisioning
> > >> non-reflective declarations of very reflective programs.
> > >
> > > Could you please elaborate this a bit or send a pointer
> > > to a paper which gives more details.
> > The first initiation for me was the 1998 OOPSLA in San Diego
> > in which Allen Wirfs-Brock and Brian Wilkerson wrote a paper
> > with a title very much like "Modular Smalltalk".
> > Allen has expounded on this topic and there used to be a set
> > of slides at www.instantiations.com. Try looking for publications at
> > that site. Also look for Allen's postings on this list.
> > I'll try to find time this weekend to put together some of my thoughts
> > on the topic. Lots of interesting stuff was going on at Digitalk just
> > prior to the merger with ParcPlace.
> > The distinction between the declaration of a program and its
> > runtime incarnation as a wildly reflective system is really very subtle.
> > Cheers,
> > :-}> John
> Thank you for the pointer. I found this
> A declarative model for defining Smalltalk programs (summary)
> Full presentatioin
> Is it this what you mean?
> -- Hannes
he says that "normal languages" like Fortran, C++ and Java are
declarative while Smalltalk is imperative.
In my opinion this is an unusal way of using declarative vs imperative.
I am thinking for example of Prolog, SQL and XSLT as beeing declarative
most other of the often used languages are imperative.
Aah now I think I can guess what he means. Instead of writing a "proper"
program we fill in all this little bits and pieces of code into various
panes of arcane looking tools called browsers and inspectors.
Another interesting slide - Unnecessary implementation assuptions
Reflection vs. the Declarative Model
brings it to the point.
A good question is on slide
- Traditional Smalltalk reflection is inherently implementation
- Why not objectify the abstract declarative description of a Smalltalk
A new architecture for Smalltalk Development
And finally it comes - watch out all you tiny image specialists
The 3+4 image < 10kB
To summarize. I consider theses things to be interesting.
But what I am interested most is learning how this affects what John
Sarkela wrote today:
>This declarative technique is the razor's edge by which a "timeless"
>configuration of a program may be archived independently
>of the very dynamic image in which it was generated.
-- Hannes Hirzel
P.S. I cc this to "Alejandro F. Reimondo" <aleReimondo at smalltalking.net>
because I would like to hear his opinion. Alejandro: You have to check
out the previous emails in this thread as well.
More information about the Squeak-dev