RE: Tomcat or PHP in ST ?

"David Griswold" <[email protected]> Tue, 15 May 2007 13:16:46 +0200
Newsgroups gmane.comp.lang.smalltalk.strongtalk
Message-ID <[email protected]>


> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]On Behalf Of Colin Putney
> Sent: Monday, May 14, 2007 6:59 AM
> To: [email protected]
> Subject: Re: Tomcat or PHP in ST ?
>
>
>
>
> On May 13, 2007, at 5:41 PM, prunedtree wrote:
>
> > The issue is mainly that it uses dialect-specific code
> > (thisContext...), not the semantics it uses.
>
> Well, that's a bit misleading. thisContext was part of Smalltalk-80,
> and is described in the Blue Book. It's only dialect-specific in that
> some dialects don't conform to the Blue Book.
>
> > There are going to be some limits to continuation support in
> > strongtalk simply because strongtalk supports callbacks, and thus you
> > can get volatile frames on the stack. Expecting that you can blindly
> > serialize anything in a system that interacts with the external world
> > doesn't sound like a good idea.
>
> Blindly? Seaside's implementation of continuations is suited the
> platform it runs on. On Squeak, activation contexts are uniform, and
> the implementation is simple. If Strongtalk supported thisContext,
> I'd expect the implementation would be more complicated, in order to
> deal with calls in and out of foreign code.  That's fine. If only
> stacks with purely Smalltalk contexts can be serialized, that's fine,
> too. Gemstone implemented continuations with VM support as part of
> their Seaside port. It seems to work fine.
>
> Continuations aren't that scary, and Seaside/Strongtalk would be an
> awfully nice combination.

As a matter of design, Strongtalk attempts to separate the language from the
'system/environment' and reflective code, so syntax like thisContext is not
supported, and all reflection on contexts and activations is done through
'mirrors' (an idea borrowed from Self).  So at the syntactic level this is
one of the areas where Strongtalk is not Blue-book compatible, although
there are mirror classes for reflecting on contexts and activations.

So basically, you can think of Strongtalk as being Blue-Book compatible for
non-reflective code, except where the library interfaces have been cleaned
up to improve subtyping semantics (e.g. such as use of include: for
collections instead of add:).

For reflective code Strongtalk is almost completely *incompatible* with
Blue-Book, except for a few of the most common things like
Object>>isKindOf:, although most of the same reflective facilities are
offered in other ways.  We simply didn't believe that reflective code
belongs in the normal object interfaces.

It's not clear yet what facilities the Strongtalk VM is missing that would
be needed for manipulating activations.  They can be examined, but no one
has looked into what is there for creating/modifying activations from
Smalltalk.  It may be all there, but I suspect that the mutation side of the
reflective interface is where the difficulties would lie.  I just don't have
time to go look at this; anyone who wants to can go ahead.

-Dave


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Strongtalk-general" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/strongtalk-general?hl=en
-~----------~----~----~----~------~----~------~--~---