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

Bijan Parsia bparsia at email.unc.edu
Tue Nov 16 00:14:25 UTC 1999


At 3:48 PM -0500 11/15/99, Stefan Matthias Aust wrote:

[snip]
>
>G–ran,
>
>I wonder which alternative you'd go then.  Integrating the CPython
>interpreter as a (pluggable) primitive for Squeak or Adding a python
>compiler written in Smalltalk to Squeak, similar to JPython which would
>allow a tight integration with the existing Smalltalk?
>
>The first alternative would probably be easier to do, but I'd love to see
>the latter come true.  Python's syntax is really nice and could be a good
>alternative to true Smalltalk.  As I was told that Squeak's interpreter is
>even faster than CPython, it could even qualify as a new and faster Python
>implementation.

Overall benchmarks give the impression of 2x the speed. Serch deja news for
details.

I know someone is nearing releasing a port or part of a port of T-Gen. I'd
like to see a general set of tools/classes for implementing other langauges
in Squeak. Something like Python's Little Langauge framework would be a
good start.

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.

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 ;))

Cheers,
Bijan Parsia.





More information about the Squeak-dev mailing list