I did pay for the standard and AFAICT there were no changes between the last draft and the issued standard. In my opinion, the standard is good as far as it went, which wasn’t too far. That’s why various Smalltalk implementations vary so much, as Christoph has found. 

It can be a nontrivial task to port extensions from one dialect to another, even those derived from Squeak. Some dialects even claim they’re not even Smalltalk.

/————————————————————/
For encrypted mail use jgpfersich@protonmail.com
Get a free account at ProtonMail.com
Web: https://objectnets.net and https://objectnets.org
https://datascilv.com https://datascilv.org


On Feb 10, 2020, at 13:46, Levente Uzonyi <leves@caesar.elte.hu> wrote:

Hi Christoph,

My understanding is that the conclusion was that [:x] should not be valid[1].
In my option, it makes no sense to support a useless extremal case.
The BNF you posted below says that it is not valid.

But the BNF is from the ANSI standard's draft, so there's an extremely slim chance that it was changed in the actual standard. But
- I doubt anyone would like to pay for it to find out
- I'm not aware of any smalltalk implementation that would strictly follow the standard
- the standard is not a good standard

In my option, [|] is another extremal case that I don't think we need to support.
It's longer than [], and both parsers detect it the same way: the closing | of the temporary declaration is missing.

So, to sum it up, IMHO neither [:x], [:x :y] nor [|] should be supported. Parser accepts [:x] and [:x :y], which should be fixed; perhaps just a warning should be raised.


Levente

[1] http://forum.world.st/The-Inbox-ShoutCore-ct-69-mcz-tp5102398p5102912.html
On Mon, 10 Feb 2020, Thiede, Christoph wrote:

[Ugh, Nabble removed all my code examples again. Resend below:]
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Von: Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Thiede, Christoph
Gesendet: Montag, 10. Februar 2020 14:10 Uhr
An: squeak-dev@lists.squeakfoundation.org
Betreff: Re: [squeak-dev] [:x] considered improper (was Re: The Inbox: ShoutCore-ct.69.mcz)  
Sorry for reviving this old thread ...
This is still an open issue, isn't it?  (oh, it would be so comfortable if we had something like GitHub issues ...)
And just one related question: According to the BNF John mentioned --
<block constructor> ::= '[' <block body> ']'
<block body> ::= [<block argument>* '|'] [<temporaries>] [<statements>]
<block argument> ::= ':' identifier
(from the ANSI Smaltalk Standard)
 -- the following should be valid syntax as well, shouldn't it?
[|] value.
The explanation is that, according to Wikipedia, an asterisk in the BNF stands for "0 or more times". So provided that there is not a mistake in the official standard document, shouldn't we support the above example?
Which is the exact standard we are following? The Blue Book? The ANSI Smalltalk Standard?
Best,
Christoph
--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html