[squeak-dev] The Inbox: ShoutCore-ct.69.mcz

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Sun Aug 18 17:14:07 UTC 2019


Le jeu. 15 août 2019 à 12:21, Levente Uzonyi <leves at caesar.elte.hu> a
écrit :

> On Thu, 15 Aug 2019, Tobias Pape wrote:
>
> >
> >> On 15.08.2019, at 03:29, Levente Uzonyi <leves at caesar.elte.hu> wrote:
> >>
> >> On Wed, 14 Aug 2019, commits at source.squeak.org wrote:
> >>
> >>> A new version of ShoutCore was added to project The Inbox:
> >>> http://source.squeak.org/inbox/ShoutCore-ct.69.mcz
> >>>
> >>> ==================== Summary ====================
> >>>
> >>> Name: ShoutCore-ct.69
> >>> Author: ct
> >>> Time: 14 August 2019, 10:43:04.7164 pm
> >>> UUID: 7d165f4e-09bf-a445-a664-5e8edb9867b8
> >>> Ancestors: ShoutCore-ul.68
> >>>
> >>> Fix bug in SHParserST80: Wrong styling after blocks with arguments
> without statements
> >>
> >> If you mean that Shout should accept [ :x ], then no, I'm pretty sure
> that's not valid smalltalk syntax, even if Parser accepts it.
> >> The vertical bar, even though I consider it unnecessary in all cases,
> is mandatory when there are arguments.
> >
> > I only got to know this "shortcut syntax" because eliot used it either
> Cog or somewhere in trunk when preparing something (Spur? full block
> closures? I forgot). So this is a syntax idiosyncrasy that is in active
> use, not only "old code".
> >
> > Either we forbid it in the parser and change all of the image or allow
> it in Shout.
>
> Can you give me examples?
> I suspect those are just typos, which the parser accidentally accepted
> (and Shout as well before my fixes).
>
> Levente
>
>
I don't remember seeing this syntax before and found it a bit surprising.
So, for the sake of curiosity, I tried in some other dialects.

[:x ] is accepted syntax in
- Visualworks (8.3),
- Pharo (v7 with OpalCompiler)
- Smalltalk-80 (apple v0.?)

[:x ] is invalid in
- Dolphin
- Smalltalk/X (jv branch)

So it seems that it's something originating from original Smalltalk-80, but
not reproducted in non derivated dialects...

The bar is mandatory in blue book specification (see the last pages)

[image: Capture d’écran 2019-08-18 à 17.11.53.png]
So it seems that implementation did not agree with specifications for
ages...
[image: Capture d’écran 2019-08-18 à 18.56.05.png]

>
> > Best regards
> >       -Tobias
> >
> >>
> >> Levente
> >>
> >>>
> >>> Thanks Jakob for the report!
> >>>
> >>> =============== Diff against ShoutCore-ul.68 ===============
> >>>
> >>> Item was changed:
> >>> ----- Method: SHParserST80>>parseBlockArguments (in category 'parse')
> -----
> >>> parseBlockArguments
> >>>
> >>>     currentTokenFirst == $: ifFalse: [ ^self ].
> >>>     [ currentTokenFirst == $: ] whileTrue: [
> >>>             self
> >>>                     scanPast: #blockArgColon;
> >>>                     parseArgument: #blockPatternArg ].
> >>> +   ((self parseVerticalBarForTemporaries: #blockArgsBar) and: [
> >>> +           currentTokenFirst ~= $] ])
> >>> +                   ifFalse: [
> >>> +                           self fail ": Missing block args bar" ]!
> >>> -   (self parseVerticalBarForTemporaries: #blockArgsBar) ifFalse: [
> >>> -           self fail ": Missing block args bar" ]!
> >>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190818/8224c51c/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Capture d’écran 2019-08-18 à 17.11.53.png
Type: image/png
Size: 26834 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190818/8224c51c/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Capture d’écran 2019-08-18 à 18.56.05.png
Type: image/png
Size: 72758 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190818/8224c51c/attachment-0003.png>


More information about the Squeak-dev mailing list