What would Squeak be like without non-local returns
reefedjib at yahoo.com
Wed Nov 7 03:46:36 UTC 2007
----- Original Message -----
From: "Andreas Raab" <andreas.raab at gmx.de>
To: "The general-purpose Squeak developers list"
<squeak-dev at lists.squeakfoundation.org>
Sent: Tuesday, November 06, 2007 5:55 PM
Subject: Re: What would Squeak be like without non-local returns
> Igor Stasenko wrote:
>> On 07/11/2007, Rob Withers <reefedjib at yahoo.com> wrote:
>>> E states that non-local returns are bad and we are seeing th
>>> implications of
>>> that statement. Our candidate solution of mixing non-local returns and
>>> eventual refs is not pretty.
>> Yeah, but we talking about Smalltalk, not E. Maybe they are bad for E,
>> but why they should be bad for smalltalk? :)
> Indeed. And as a matter of fact I can't recall that particular statement.
> Who said it and in what context? The main rule that matters to E (for many
> reasons) is about globally mutable state which is a complete no-no. But
> non-local returns? The only issue I can imagine with this is that code
> could conceivably "escape" from an evaluation which may make it harder for
> auditing but that's about all I can see.
Well, now I can't find that statement, but I was sure I had read it on
erights or Mark's thesis. I searched and found nothing. It may have been a
statement regarding eventual-sending specifically with non-local return. It
IS strange thinking about the correct behavior of an expression:
object eventual ifTrue: [^3].
What should be the result?
What I did find was discussion about escape from a block with an ejector,
which I had always wondered about. It is non-local return from a
synchronous send. Click on ii.3 Escape:
http://www.erights.org/elib/concurrency/msg-passing.html and also
More information about the Squeak-dev