Language implementation in Squeak (was Re: Python for Squeak)

Jerry Jackson jrj at channelpoint.com
Tue Nov 16 15:20:47 UTC 1999



> -----Original Message-----
> From: Bijan Parsia [mailto:bparsia at email.unc.edu]
> Sent: Monday, November 15, 1999 5:14 PM
> To: squeak at cs.uiuc.edu
> Subject: Language implementation in Squeak (was Re: Python for Squeak)
> 
> 
> At 3:48 PM -0500 11/15/99, Stefan Matthias Aust wrote:
> 
> [snip]
> >
> The idea would be to make it easy to compile to Squeak 
> bytecodes, and to
> integrate with standard tools. Thus, if you implemented, oh, 
> scheme, you
> could have Scheme browsers, inspectors, Workspaces, and so 
> on. A relatively
> standard interface for integrating Smalltalk calls would be nice.
> 

I'm also very interested in this.  I spent several years long ago
working with Xerox lisp machines (Dandelion, Dandetiger, Daybreak)
and was amazed at how similar the Squeak environment seemed when
I first looked at it.  I made a stab at building a Lisp machine
on top of Squeak but decided I would wait for full closures before
continuing.  I've given some thought as to how Smalltalk-style keyword
messages map onto lisp and I think it can be made pretty clean.

I have one question for the long-time Smalltalkers...  Why did you 
move from a read/eval/print loop to the workspace model?  I
don't have anything against the mouse but I find a listener with
a good history mechanism is a faster interaction mode for me.

> One first step would be to examine the current parse nodes and see if
> there's anything that needs to be added to make them 
> "langauge general"
> (*not* language *neutral* ;)). The implementation task would reduce to
> mapping parse trees onto the language semantics (kinda 
> backwards, that) and
> then writing a parser and the various adaptions for the 
> tools. Compilation
> would happen from the parse tree in the (a?) standard way.
> 
> (In general, I'm thinking of a system like Poplog, only more 
> portable ;))
> 

Sounds great!

--Jerry





More information about the Squeak-dev mailing list