The State of Exceptions

glenn krasner at objectshare.com
Tue Oct 13 17:29:58 UTC 1998


At 09:04 PM 10/12/98 -0700, Sheldon Nicholl wrote:
>I really feel like I'm going out on a limb by saying this, but I think
>Smalltalk would be a better language if non-local returns were
>removed entirely. They cause trouble all across the board, from
>the Debugger to the VM to beginning Smalltalkers trying to learn
>the language.

Interesting idea, but could you get away with it?

For example, would the following be illegal

	stream atEnd ifTrue: [^self] ...

	1 to: 3 do: [:x | (self foo: x) ifTrue: [^self] ...]

	[x < 4] whileTrue: [(self foo: x) ifTrue: [^self] ...]

or would you allow returns from some blocks ("compiled") but not others?

glenn





More information about the Squeak-dev mailing list