[Ann] Fix to Exceptions, New expression chain syntax and more!

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Ann] Fix to Exceptions, New expression chain syntax and more!

Juan Vuletich-4
Hi Folks,

I've just commited to
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev a bunch of updates
and a new image.

Biggest news is a fix to Exceptions. There was a serious bug: when there
are nested handlers of the same exception, the wrong handler got run.
See #testHandlerFromAction . This bug is common to Squeak and Pharo
also. The fix was provided by Andrés Valloud.

Besides, Andrés did an extension to the Smalltalk syntax, using '::' for
expression chaining. See #chainExamplesDoubleColon . I think it can help
us avoid many opening parenthesis at the start of an expression, and
many nested brackets in complex Boolean conditions. If you want to see
how those expressions are written without the chain operator to compare,
in #chainExamplesDoubleColon click on (show...) / decompile.

I also did tweaks to the compilation of #to:do: and #to:by:do: after a
discussion in Pharo-dev, and to #vmParameterAt: after a discussion in
Squeak-dev. And some minor tweaks here and there.

Thanks Andrés for your great contributions!

Cheers,
Juan Vuletich

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Fix to Exceptions, New expression chain syntax and more!

Frank Shearar-3
On 11 September 2014 16:34, Juan Vuletich <[hidden email]> wrote:
> Hi Folks,
>
> I've just commited to https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev a
> bunch of updates and a new image.
>
> Biggest news is a fix to Exceptions. There was a serious bug: when there are
> nested handlers of the same exception, the wrong handler got run. See
> #testHandlerFromAction . This bug is common to Squeak and Pharo also. The
> fix was provided by Andrés Valloud.

Thanks very much, Andrés! (And Juan, of course!) I have turned the
changeset into an mcz and submitted it to Squeak's Inbox. It does
cause a regression in our test suite, but more importantly does fix
this long-outstanding bug!

> Besides, Andrés did an extension to the Smalltalk syntax, using '::' for
> expression chaining. See #chainExamplesDoubleColon . I think it can help us
> avoid many opening parenthesis at the start of an expression, and many
> nested brackets in complex Boolean conditions. If you want to see how those
> expressions are written without the chain operator to compare, in
> #chainExamplesDoubleColon click on (show...) / decompile.

This is a very neat extension, and one I'd like to use myself. I've
wanted it pretty much since I saw Vassili Bykov write about it:
http://blog.3plus4.org/2007/08/30/message-chains/

What I'd like even more than this though is having a compiler/parser
well factored enough that the end user could monkey around with the
syntax. We're a long way away from that not just because of how
Scanner/Parser/Compiler are written, but also simply because grammar
composition is Hard (see
http://tratt.net/laurie/blog/entries/parsing_the_solved_problem_that_isnt)

frank

> I also did tweaks to the compilation of #to:do: and #to:by:do: after a
> discussion in Pharo-dev, and to #vmParameterAt: after a discussion in
> Squeak-dev. And some minor tweaks here and there.
>
> Thanks Andrés for your great contributions!
>
> Cheers,
> Juan Vuletich
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Fix to Exceptions, New expression chain syntax and more!

Casey Ransberger-2
Hey everybody. This is interesting. I was lamenting ye olde Smalltalk wander back to add the paren I forgot just the other day.

For a more radical way of getting rid of the parenthetical time sink, check out Self's syntax. In addition to the (usually wonderful) implied self, they reversed the order of evaluation (to keyword, binary, unary) and this also had the effect of getting rid of the same parens.

Cheers!

C

> On Sep 12, 2014, at 1:48 PM, Frank Shearar <[hidden email]> wrote:
>
>> On 11 September 2014 16:34, Juan Vuletich <[hidden email]> wrote:
>> Hi Folks,
>>
>> I've just commited to https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev a
>> bunch of updates and a new image.
>>
>> Biggest news is a fix to Exceptions. There was a serious bug: when there are
>> nested handlers of the same exception, the wrong handler got run. See
>> #testHandlerFromAction . This bug is common to Squeak and Pharo also. The
>> fix was provided by Andrés Valloud.
>
> Thanks very much, Andrés! (And Juan, of course!) I have turned the
> changeset into an mcz and submitted it to Squeak's Inbox. It does
> cause a regression in our test suite, but more importantly does fix
> this long-outstanding bug!
>
>> Besides, Andrés did an extension to the Smalltalk syntax, using '::' for
>> expression chaining. See #chainExamplesDoubleColon . I think it can help us
>> avoid many opening parenthesis at the start of an expression, and many
>> nested brackets in complex Boolean conditions. If you want to see how those
>> expressions are written without the chain operator to compare, in
>> #chainExamplesDoubleColon click on (show...) / decompile.
>
> This is a very neat extension, and one I'd like to use myself. I've
> wanted it pretty much since I saw Vassili Bykov write about it:
> http://blog.3plus4.org/2007/08/30/message-chains/
>
> What I'd like even more than this though is having a compiler/parser
> well factored enough that the end user could monkey around with the
> syntax. We're a long way away from that not just because of how
> Scanner/Parser/Compiler are written, but also simply because grammar
> composition is Hard (see
> http://tratt.net/laurie/blog/entries/parsing_the_solved_problem_that_isnt)
>
> frank
>
>> I also did tweaks to the compilation of #to:do: and #to:by:do: after a
>> discussion in Pharo-dev, and to #vmParameterAt: after a discussion in
>> Squeak-dev. And some minor tweaks here and there.
>>
>> Thanks Andrés for your great contributions!
>>
>> Cheers,
>> Juan Vuletich
>>
>> _______________________________________________
>> Cuis mailing list
>> [hidden email]
>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>
> _______________________________________________
> Cuis mailing list
> [hidden email]
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org

_______________________________________________
Cuis mailing list
[hidden email]
http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org