Fear and loathing of the "perlification" of Smalltalk

Peter William Lount peter at smalltalk.org
Mon Sep 10 16:09:00 UTC 2007


Jason Johnson wrote:
>> On 9/5/07, Peter William Lount <peter at smalltalk.org> wrote:
>>  
>>> You are still stuck on byte codes eh? That is so 1960's. I invite you
>>> into the innovation frame of mind, discard what you think you know 
>>> about
>>> this topic, and open your eyes wide open and imagine a future with
>>> powerful blocks. We are just scratching the surface with this one new
>>> block feature. I've invented ten more powerful capabilities for blocks
>>> and integrated them so they work well.
>>>
>>> There are many ways to implement the two evaluators for blocks. For
>>> example, depending on your byte code set you could have a bit for a
>>> flag, or you could duplicate the byte codes with one set for each
>>> evaluation type. Or you could get rid of byte codes all together which
>>> is the better approach.
>>>     
>>
>> What Smalltalk system doesn't use byte codes?
>>
>> As far as the blocks question, I think it's not a bad idea.  The idea
>> of a block is already overloaded somewhat with:
>>
>> [ "..." ] fork
>>
>>
>>   
Hi Jason,

Here is a paper on Smalltalk without byte codes, although a bit dated. 
You'll need to be a member of ACM to download it.
http://portal.acm.org/citation.cfm?id=28708&coll=GUIDE&dl=ACM&CFID=34496579&CFTOKEN=35186959

"We have implemented Smalltalk-80 on an instruction-level simulator for 
a RISC microcomputer called SOAR. Measurements suggest that even a 
conventional computer can provide high performance for Smalltalk-80 by 
abandoning the 'Smalltalk Virtual Machine' in favor of compiling 
Smalltalk directly to SOAR machine code, linearizing the activation 
records on the machine stack, eliminating the object table, and 
replacing reference counting with a new technique called Generation 
Scavenging. In order to implement these techniques, we had to find new 
ways of hashing objects, accessing often-used objects, invoking blocks, 
referencing activation records, managing activation record stacks, and 
converting the virtual machine images."

I've seen other papers as well on this topic. Byte codes are but one way 
to do things.

Cheers,

Peter




More information about the Squeak-dev mailing list