Also, more recently reported by Gilad

http://bugs.squeak.org/view.php?id=5793

2009/12/16 Lukas Renggli <reng...@gmail.com>:
> ---------- Forwarded message ----------
> From: L Peter Deutsch <l...@major2nd.com>
> Date: 2009/12/16
> Subject: Re: [BUG] [ :a | ] value: 1
> To: eliot.mira...@gmail.com
> Cc: reng...@gmail.com, dan.inga...@sun.com,
> squeak-...@lists.squeakfoundation.org
>
>
> Good Heavens.  To think that that something like this would surface after
> all these years....
>
> I agree with Lukas.  The block should return nil.  The ANSI standard is
> broken -- the fewer special cases a standard has, the better.
>
> I didn't write the Smalltalk source-to-bytecode compiler, and if I had, I
> would have made it return nil if I had had my wits about me.
>
> OTOH, Dan may know of a historical reason why things were done this way --
> perhaps there's some fairly common usage pattern that I've forgotten that
> makes the return-the-last-argument definition worthwhile.
>
> I agree that changing this is likely to break code.  All the same, I am
> somewhat in favor of changing it in the ANSI standard.  If that is done, I
> would hope someone would create a tool to do a pass over Smalltalk source
> code and browse any occurrences of the problematic construct.  (Fixing them
> automatically might not be a good idea, since the value that the block
> returns might not actually be used, and if not, no fix would be needed.)
> Fortunately, this is an example where it's easy, if a little unsightly, to
> write code so that it will work under either interpretation (by explicitly
> include the desired return value in the block).
>
>                                                L Peter Deutsch
>
> P.S. Writing standards is really very tricky.  If one writes a standard too
> early, it's likely to get something important wrong simply from not enough
> experience; but if you write it too late, it may be impossible to get
> implementations to follow it, or the standard may have to compromise on
> quality to conform to the implementations.  A depressing example of this is
> HTML5, where I'm told the standards committee pretty much caved to whatever
> the major browsers had actually done, regardless of how poorly designed it
> was.
> ----------------------------------------------------------------
>
>
>
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project@lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to