Let's see, just how many smalltalk compilers are there...
Bob Atkinson did one at Xerox Parc
Ralph Johnson did something with Typed Smalltalk
Parc Place Highly Portable Smalltalk translates bytecodes to machine code
Digitalk compiles in some versions
IBM's Visual Age
Eliot Miranda wrote one for fun
The Squeak project (see Squeak Smalltalk):
born at Apple, lives at Disney
Refactory Browser Parser (not a whole compiler, but PD)
Anthony Lander made one (after Wilf Lalonde taught him how)
Hal Hildebrand is working on a new one for Squeak
Smalltalk Agents is Mac-only (www.qks.com )
Dolphin Smalltalk is Windows-only (www.object-arts.com )
Smalltalk MT is Windows-only (www.objectconnect.com )
Gnu Smalltalk (stagnant?)(www.smalltalk.org )
Pocket Smalltalk www.pocketsmalltalk.com
Ambrai Smalltalk for MacOsX
Smalltalk Ecks (Smalltalk/X) started as a ST to C compiler, supports inline C, and methods compiles to native Byte Code, JIT or native MC code.
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. -- Dave Harris
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? -- Dave Harris
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). -- Stephan Houben
Let's not forget Enfin Smalltalk. I hesitate to describe it as a Smalltalk Compiler, 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.
Kent Beck is rumored (though this may be apocryphal) to have described Enfin Smalltalk as what would happen if a bunch of Martians implemented Smalltalk from the Blue Book spec, but with no knowledge of Smalltalk culture and idiom.
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 Smalltalk Ecks (someone to name more ?).
See original on c2.com