Fear and loathing of the "perlification" of Smalltalk

Peter William Lount peter at smalltalk.org
Wed Sep 5 00:29:07 UTC 2007


Mathieu Suen wrote:
>
>> Compile time is whenever you wish it to be with Smalltalk.
>>
>> Nonsense, you've locked your brain onto  a particular implementation 
>> approach before thinking it all through. Blocks simply have a means 
>> of evaluation that either returns the last or collects all the 
>> values. The rest is done in the primitives. This could be implemented 
>> without adjusting how the byte codes are compiled - only statement 
>> boundaries would need to be made clear in the even that any 
>> optimizations eliminate the boundaries. It depends on how you 
>> implement the virtual machine.
>
> Well! Read the Blue book if you want to know about the VM.
> But stop talking about VM, bytecode, compiler and so on if you want to 
> talk about conceptual things.
Eh? What? Sure, I can talk about both at the same time. By the way, it's 
not polite to tell people how to talk.

>
> So the question is do we consider block as list of statements or just 
> a chunk of code.
They are both as in Lisp.


> Now if you take a look of the functional world you will see that 
> lambda are never consider as a list of statements.
That's because the mainline functional world (haskell, ml, etc...)  have 
a very narrow definition that blinds them and binds them into their 
paradigm.

And in Lisp they are both so your statement is incorrect.

>
> If you want a block to be a list of lambda then you make a conceptual 
> mistake.
What is the mistake? If you want to limit blocks to a functional style 
vision that would be a mistake. They have so so much more to offer.

> Build a new abstraction if you want to have statements list but don't 
> use the block.
Ah, nope. I'm building it the way that I've described it. I'm simply 
offering it to the Squeak and Smalltalk communities as a powerful option 
to enhance Smalltalk with. I invite you to open your eyes wide and see a 
powerful future for blocks.

In fact it's inspired by Lisp - so everything old is new again.

Cheers,

Peter






More information about the Squeak-dev mailing list