New Squeak Porting Proposals

Dean_Swan at Mitel.COM Dean_Swan at Mitel.COM
Wed Aug 18 16:07:45 UTC 1999

From:  Dean Swan at MITEL on 08/18/99 12:07 PM

>>Anybody got Squeak running on the PalmPilot yet?  :)
>There's only PocketSmalltalk so far, which has a very compact binary format
>and can only develop binaries from a host PC (porting this development
>environment to the PalmPilot would be enough to make a Squeak).  Anyway,
>it's basically a way to write regular apps for the Palm, but extending it
>into a full environment shouldn't be too hard, since the source is open.
>It also handles interface by augmenting the regular oo style with PalmOS


     I don't mean to detract at all from PocketSmalltalk, because it really is
an outstanding and commendable achievement, but I wouldn't under-estimate what
it would take to turn it into a full development environment running native on a
PalmOS device.

     PocketSmalltalk is not only open source, Andrew Brault and Eric Arseneau
have done a very good job of documenting it's inner workings.  There are many
changes in PocketSmalltalk that would make a full blown development environment
a somewhat daunting task.  Off the top of my head, these include (in no
particular order):

     1) Symbols are indistinguishable from SmallIntegers at run-time.
     2) PocketSmalltalk is object table based with a mark&sweep garbage

          There is no generation scavenging or incremental GC in

     3) Classes, Methods, and (I think) Messages are not accessible as objects
          at run-time.

     4) Global variables are implemented as class variables of Object, and
          can not be referenced as objects at run-time.  The compiler
          optimizes them down to inline instructions for the VM at compile time.

     5) BlockContexts are not represented as objects.  The restrictions are not
          too bad, but they did a number of things to minimize space usage.  See
          the whitepaper at for details.

     PocketSmalltalk is an impressive achievment, but it is better thought of as
a traditional language compiler for producing stand-alone applications than as a
development system like Squeak.  That PocketSmalltalk uses Smalltalk as it's
base language is (of course) great, but it is more of a "cross compiler" like
embedded systems development tools.

                                   -Dean Swan

More information about the Squeak-dev mailing list