Smalltalk Compiler

Let's see, just how many smalltalk compilers are there...

And GNU Smalltalk has a compiler written in C, to bootstrap the system, and one written in Smalltalk. So it counts for two!


By "compiler", do you mean "any implementation" or do you intend some distinction from the usual bytecode interpreter? As I understand it, Dolphin is a bytecode interpreter. -- DaveHarris

And how do you get bytecodes from source text?

That's why I asked the question - bytecode interpreters include compilers too. If we include them, then the title refers to "any implementation." Is that the answer? -- DaveHarris

An implementation might have more than one compiler (GNU Smalltalk, for example, has two compilers). In theory, two implementations might share the same compiler (in that case they either have compatible bytecodes or the compiler has two back-ends). -- StephanHouben


Let's not forget EnfinSmalltalk. I hesitate to describe it as a SmalltalkCompiler, because I don't believe it ever emitted bytecodes (it instead invoked functions in a library of C routines), but it did accept something like Smalltalk source code as input, and caused something to happen in response.

KentBeck is rumored (though this may be apocryphal) to have described EnfinSmalltalk as what would happen if a bunch of Martians implemented Smalltalk from the BlueBook spec, but with no knowledge of Smalltalk culture and idiom.

- TomStambaugh


The term "compiler" is probably misleading in the Smalltalk context. Most Smalltalk compilers are part of their respective environments and of little use without. So when you ask for one of those "compilers", you usually get it with a big class library, UI-framework, IDE, Debugger and much more. Exceptions to this are probably the Smalltalk# compiler from refactory.inc and the stc compiler used in SmalltalkEcks (someone to name more ?).


CategorySmalltalk CategoryCompilers


EditText of this page (last edited October 12, 2006) or FindPage with title or text search