Let's see, just how many smalltalk compilers are there... * BobAtkinson did one at XeroxParc * QuickTalk at OregonGraduateInstitute * RalphJohnson did something with TypedSmalltalk * ParcPlace HighlyPortableSmalltalk translates bytecodes to machine code * Digitalk compiles in some versions * IBM's VisualAge * EliotMiranda wrote one for fun * The Squeak project (see SqueakSmalltalk): born at Apple, lives at Disney * RefactoryBrowserParser (not a whole compiler, but PD) * AnthonyLander made one (after WilfLalonde taught him how) * HalHildebrand is working on a new one for Squeak * SmalltalkAgents is Mac-only (http://www.qks.com/Product_Catalog/index.asp) * DolphinSmalltalk is Windows-only (http://www.object-arts.com/Products.htm) * Smalltalk MT is Windows-only (http://www.objectconnect.com) * GnuSmalltalk (stagnant?)(http://www.smalltalk.org/versions/GNUSmalltalk.html) * PocketSmalltalk www.pocketsmalltalk.com * BuddsLittleSmalltalk * AmbraiSmalltalk for MacOsX * SmalltalkEcks (Smalltalk/X) started as a ST to C compiler, supports inline C, and methods compiles to native ByteCode, 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. -- 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