[Newbies] Image vs. source code (was Re: Very Basic Squeak information)

Tyler Sperry tyler at nlper.org
Wed Nov 22 15:07:40 UTC 2006

David Douthitt wrote:
> How about Common LISP (with CLOS) and FORTH for two?  FORTH isn't OOP, 
> but at least one author described how an OOP FORTH could be done (Dick 
> Pountain).  FORTH doesn't save "images" as much as they utilize the 
> source code model: start up with the core, and load extensions from 
> source.  Other than that, the model is the same.
Well, as you say, Forth isn't object-based and the common communication 
mechanism is source code, so I don't see a lot of similarity with 
Smalltalk images. It's certainly true that it's common for developers to 
save the state of their dictionaries (ie, compiled code) as a 
convenience, but that's about it.

> This "image-based" idea is what makes FORTHers - or LISPers - or 
> Smalltalkers roll their eyes and sigh heavily (figuratively 
> speaking!!) when someone says: "Yes, but how do I save JUST MY PROGRAM 
> into an executable?"

In my experience, most Forth systems have some set of words like TURNKEY 
that create a "sealed" application where the user isn't presented with 
the normal Forth "environment" (ie, the interpreter prompt), and for at 
least the last decade I think they've offered optimizations that strip 
unused words from the dictionary for application deployment. I think for 
the equivalent functionality you'd be looking at something like Dolphin 
Smalltalk rather than Squeak -- but perhaps someone here will point out 
the Squeakish way of creating "standalone" (in appearance, at least) 

Forth, Lisp, and Smalltalk are all intensely interactive languages and 
all seem designed in a way to make it easy to "open the hood" and see 
how the innards are working. I can't speak to CLOS, but in my limited 
experience Smalltalk was unique for its time in presenting the developer 
with browsers and making their use such an important part of normal 
development. I don't think there's anything similar in Forth.


More information about the Beginners mailing list