Technology of the technologies (WAS: A Lisper asks,
"Am I supposed to like Smalltalk?")
tim at rowledge.org
Wed May 17 23:30:29 UTC 2006
On 17-May-06, at 4:09 PM, Sebastián Sastre wrote:
> I can think a reason that could do that: to marry Smalltalk with
> assembler. A Smalltalk that makes it's compilations to machine code.
That's (indirectly) been done since 1984 or thereabouts. Peter
Deutsch and Allan Schiffman did the work at PARQ and wrote a very
famous paper for POPL (L. Peter Deutsch and Allan M. Schiffman,
"Efficient Implementation of the Smalltalk-80 System", Conference
Record of the Eleventh Annual ACM Symposium on Principles of
Programming Languages, January 1984, pp. 297--302)
This was a specialized VM targetted at the 68k architecture and a
couple of years later it was redone and extended and made portable as
part of developing ParcPlace's HPS VM. At various times that has run
(to my knowledge) on 68k, 386/486/pentium/blahblah, PPC, POWER, ARM,
MIPS under a wide range of OSs. I did the first working ARM version
HPS compiles Smalltalk to bytecodes and then the VM converts those to
quite well optimised machine code at need; it was a JIT many years
before the javanauts made the term popular.
Compiling straight to machine code is certainly doable; it simply
involves a lot more work since you have to develop and optimise and
debug a *lot* more stuff. For example, you'd have to rewrite the
compiler, the debugger, the InstructionStream related classes and
tools, any system that expects to write out methods, etc etc. Send
enough money and I will arrange it for you. Discussions could start
at, ooh, One *Million* Euros.
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Useful Latin Phrases:- Gramen artificiosum odi = I hate Astroturf.
More information about the Squeak-dev