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
|