Fear and loathing of the "perification" of Smalltalk

Igor Stasenko siguctua at gmail.com
Fri Sep 14 15:01:12 UTC 2007


On 14/09/2007, Damien Pollet <damien.pollet at gmail.com> wrote:
> On 14/09/2007, Peter William Lount <peter at smalltalk.org> wrote:
> > >>    Person addInstanceMethod: [firstName: aString | firstName :=
> > >> aString ].
> > >
> > > Not so easy.
> > Yes, so very easy.
> >
> > > How do you guarantee that "firstName" is in scope when the block is
> > > compiled?
> > Why would you? Smalltalk is a dynamic language.
>
> Maybe but Smalltalk also has lexical scoping, and here firstName seems
> to need some kind of dynamic scope. IMHO that's counter-intuitive. The
> semantics of Smalltalk were made to be simple, better to keep them so.
>
> When we brainstormed on Sapphire's syntax, I proposed to add a new
> literal for parsed-but-not-yet-compiled-syntax. You would then pass
> those objects to reflective methods in charge of installing that code
> in the system (and thus resolving variables and such). IMHO it's
> better to clearly distinguish between program text and actual system
> behavior.
>
> BTW I was also pushing for using an executable form for fileins:
> filing in a file would be the same making a "do it" on the file's
> contents, installing code in the system while the doit runs. Now I'm
> really not sure it's a good idea compared to a declarative syntax that
> allows tools to manipulate the code as an abstract structure without
> installing it.
>
Yes, i often, before installing changeset browsing it, looking that it
don't replaces my own methods by occasion e.t.c.

P.S. LOL, i'm just found myself pressing cmd-s in browser and
wondering why it's not sending mail :)
>
> --
> Damien Pollet
> type less, do more [ | ] http://typo.cdlm.fasmz.org
>
>


-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list