Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

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

Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

Sven Van Caekenberghe-2
<Social Media Marketing>

The following interesting question/thread could use some more comments/votes:

Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

> https://news.ycombinator.com/item?id=12185892 <https://news.ycombinator.com/item?id=12185892>

Sven
Reply | Threaded
Open this post in threaded view
|

Re: Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

Thierry Goubier
Hi Sven,

I'd put RB + SmaCC among the lot. But I consider that really non-trivial : the pattern language of RB (and the underlying pattern matching and unification algorithm) is top notch, and how SmaCC builds on RB to virtually generate code / optimise code / then compile is nothing short of amazing.

SmaCC comes with a pattern matching/unification algorithm over ASTs + auto-generation of AST code + visitor + tree equality + the equivalent of Flex/Bison(*) + a GUI in 11401 lines of code.

Thierry

(*) And a true equivalent, with LR, LALR and GLR !

2016-07-29 14:05 GMT+02:00 Sven Van Caekenberghe <[hidden email]>:
<Social Media Marketing>

The following interesting question/thread could use some more comments/votes:

Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

> https://news.ycombinator.com/item?id=12185892 <https://news.ycombinator.com/item?id=12185892>

Sven

Reply | Threaded
Open this post in threaded view
|

Re: Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

SergeStinckwich
On Fri, Jul 29, 2016 at 2:23 PM, Thierry Goubier
<[hidden email]> wrote:

> Hi Sven,
>
> I'd put RB + SmaCC among the lot. But I consider that really non-trivial :
> the pattern language of RB (and the underlying pattern matching and
> unification algorithm) is top notch, and how SmaCC builds on RB to virtually
> generate code / optimise code / then compile is nothing short of amazing.
>
> SmaCC comes with a pattern matching/unification algorithm over ASTs +
> auto-generation of AST code + visitor + tree equality + the equivalent of
> Flex/Bison(*) + a GUI in 11401 lines of code.

SmaCC deserves definitively more advertisements and should be added to
MOOSE platform I think.

When I see all the buzz around languages workbenches like Rascal:
https://www.youtube.com/watch?v=Ffx7VtEOSx4

with MOOSE+RB+SmaCC+Reflectivity+GTools we are close to these tools
(or even better).

Regards,
--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

Reply | Threaded
Open this post in threaded view
|

Re: Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

Sven Van Caekenberghe-2
In reply to this post by Thierry Goubier

> On 29 Jul 2016, at 14:23, Thierry Goubier <[hidden email]> wrote:
>
> Hi Sven,
>
> I'd put RB + SmaCC among the lot. But I consider that really non-trivial : the pattern language of RB (and the underlying pattern matching and unification algorithm) is top notch, and how SmaCC builds on RB to virtually generate code / optimise code / then compile is nothing short of amazing.
>
> SmaCC comes with a pattern matching/unification algorithm over ASTs + auto-generation of AST code + visitor + tree equality + the equivalent of Flex/Bison(*) + a GUI in 11401 lines of code.

Well, you don't need to convince me that there is some really magic code out there, thanks for pointing this out. People should really do more effort to promote the stuff they like, by writing some nice accessible article about it. (Hint, hint).

The problem is that even though Smalltalk itself is simple, the whole environment, being super dynamic/flexible, is not. It scares a lot of people that they cannot really grab and hold the code. It is only once you get beyond that initial hurdle (which also requires you to unlearn/learn a new approach), that you can start to explore and appreciate all the good stuff. I am still not sure how we can make this clear to newcomers, but it feels like a critical step.

> Thierry
>
> (*) And a true equivalent, with LR, LALR and GLR !
>
> 2016-07-29 14:05 GMT+02:00 Sven Van Caekenberghe <[hidden email]>:
> <Social Media Marketing>
>
> The following interesting question/thread could use some more comments/votes:
>
> Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News
>
> > https://news.ycombinator.com/item?id=12185892 <https://news.ycombinator.com/item?id=12185892>
>
> Sven
>


Reply | Threaded
Open this post in threaded view
|

Re: Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

Thierry Goubier


2016-07-29 15:32 GMT+02:00 Sven Van Caekenberghe <[hidden email]>:

> On 29 Jul 2016, at 14:23, Thierry Goubier <[hidden email]> wrote:
>
> Hi Sven,
>
> I'd put RB + SmaCC among the lot. But I consider that really non-trivial : the pattern language of RB (and the underlying pattern matching and unification algorithm) is top notch, and how SmaCC builds on RB to virtually generate code / optimise code / then compile is nothing short of amazing.
>
> SmaCC comes with a pattern matching/unification algorithm over ASTs + auto-generation of AST code + visitor + tree equality + the equivalent of Flex/Bison(*) + a GUI in 11401 lines of code.

Well, you don't need to convince me that there is some really magic code out there, thanks for pointing this out. People should really do more effort to promote the stuff they like, by writing some nice accessible article about it. (Hint, hint).

Understood :)
 
The problem is that even though Smalltalk itself is simple, the whole environment, being super dynamic/flexible, is not. It scares a lot of people that they cannot really grab and hold the code. It is only once you get beyond that initial hurdle (which also requires you to unlearn/learn a new approach), that you can start to explore and appreciate all the good stuff. I am still not sure how we can make this clear to newcomers, but it feels like a critical step.

Maybe there is a question of coding style coupled with the tools?

Thierry
 

> Thierry
>
> (*) And a true equivalent, with LR, LALR and GLR !
>
> 2016-07-29 14:05 GMT+02:00 Sven Van Caekenberghe <[hidden email]>:
> <Social Media Marketing>
>
> The following interesting question/thread could use some more comments/votes:
>
> Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News
>
> > https://news.ycombinator.com/item?id=12185892 <https://news.ycombinator.com/item?id=12185892>
>
> Sven
>



Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

jfabry
In reply to this post by SergeStinckwich

I was at that talk, and I am not convinced that we are at that level, we are certainly not better in my opinion. The advantage that they have is the domain-specific language on top of the parsing infrastructure which makes it easy and fast to write (at least) the demos he is showing. We don’t have that and his talk showed me that it is an important thing that is missing.

--
Does this mail seem too brief? Sorry for that, I don’t mean to be rude! Please see http://emailcharter.org .

Johan Fabry   -   http://pleiad.cl/~jfabry
PLEIAD and RyCh labs  -  Computer Science Department (DCC)  -  University of Chile

> On Jul 29, 2016, at 08:38, Serge Stinckwich <[hidden email]> wrote:
>
> When I see all the buzz around languages workbenches like Rascal:
> https://www.youtube.com/watch?v=Ffx7VtEOSx4
>
> with MOOSE+RB+SmaCC+Reflectivity+GTools we are close to these tools
> (or even better).


Reply | Threaded
Open this post in threaded view
|

Re: Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

SergeStinckwich
In reply to this post by Sven Van Caekenberghe-2
On Fri, Jul 29, 2016 at 3:32 PM, Sven Van Caekenberghe <[hidden email]> wrote:

>
>> On 29 Jul 2016, at 14:23, Thierry Goubier <[hidden email]> wrote:
>>
>> Hi Sven,
>>
>> I'd put RB + SmaCC among the lot. But I consider that really non-trivial : the pattern language of RB (and the underlying pattern matching and unification algorithm) is top notch, and how SmaCC builds on RB to virtually generate code / optimise code / then compile is nothing short of amazing.
>>
>> SmaCC comes with a pattern matching/unification algorithm over ASTs + auto-generation of AST code + visitor + tree equality + the equivalent of Flex/Bison(*) + a GUI in 11401 lines of code.
>
> Well, you don't need to convince me that there is some really magic code out there, thanks for pointing this out. People should really do more effort to promote the stuff they like, by writing some nice accessible article about it. (Hint, hint).
>
> The problem is that even though Smalltalk itself is simple, the whole environment, being super dynamic/flexible, is not. It scares a lot of people that they cannot really grab and hold the code. It is only once you get beyond that initial hurdle (which also requires you to unlearn/learn a new approach), that you can start to explore and appreciate all the good stuff. I am still not sure how we can make this clear to newcomers, but it feels like a critical step.

There is an initial tutorial that needs some love here:
https://github.com/SquareBracketAssociates/PharoInProgress/tree/master/Smacc


--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

stepharo
In reply to this post by jfabry
Indeed.


> I was at that talk, and I am not convinced that we are at that level, we are certainly not better in my opinion. The advantage that they have is the domain-specific language on top of the parsing infrastructure which makes it easy and fast to write (at least) the demos he is showing. We don’t have that and his talk showed me that it is an important thing that is missing.
>
> --
> Does this mail seem too brief? Sorry for that, I don’t mean to be rude! Please see http://emailcharter.org .
>
> Johan Fabry   -   http://pleiad.cl/~jfabry
> PLEIAD and RyCh labs  -  Computer Science Department (DCC)  -  University of Chile
>
>> On Jul 29, 2016, at 08:38, Serge Stinckwich <[hidden email]> wrote:
>>
>> When I see all the buzz around languages workbenches like Rascal:
>> https://www.youtube.com/watch?v=Ffx7VtEOSx4
>>
>> with MOOSE+RB+SmaCC+Reflectivity+GTools we are close to these tools
>> (or even better).
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

stepharo
In reply to this post by Thierry Goubier

Thierry

I started a Smacc chapter in the PharoInProgress book.


Stef


Le 29/7/16 à 15:56, Thierry Goubier a écrit :


2016-07-29 15:32 GMT+02:00 Sven Van Caekenberghe <[hidden email]>:

> On 29 Jul 2016, at 14:23, Thierry Goubier <[hidden email]> wrote:
>
> Hi Sven,
>
> I'd put RB + SmaCC among the lot. But I consider that really non-trivial : the pattern language of RB (and the underlying pattern matching and unification algorithm) is top notch, and how SmaCC builds on RB to virtually generate code / optimise code / then compile is nothing short of amazing.
>
> SmaCC comes with a pattern matching/unification algorithm over ASTs + auto-generation of AST code + visitor + tree equality + the equivalent of Flex/Bison(*) + a GUI in 11401 lines of code.

Well, you don't need to convince me that there is some really magic code out there, thanks for pointing this out. People should really do more effort to promote the stuff they like, by writing some nice accessible article about it. (Hint, hint).

Understood :)
 
The problem is that even though Smalltalk itself is simple, the whole environment, being super dynamic/flexible, is not. It scares a lot of people that they cannot really grab and hold the code. It is only once you get beyond that initial hurdle (which also requires you to unlearn/learn a new approach), that you can start to explore and appreciate all the good stuff. I am still not sure how we can make this clear to newcomers, but it feels like a critical step.

Maybe there is a question of coding style coupled with the tools?

Thierry
 

> Thierry
>
> (*) And a true equivalent, with LR, LALR and GLR !
>
> 2016-07-29 14:05 GMT+02:00 Sven Van Caekenberghe <[hidden email]>:
> <Social Media Marketing>
>
> The following interesting question/thread could use some more comments/votes:
>
> Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News
>
> > https://news.ycombinator.com/item?id=12185892 <https://news.ycombinator.com/item?id=12185892>
>
> Sven
>




Reply | Threaded
Open this post in threaded view
|

Re: Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

Thierry Goubier


Le 29/07/2016 à 21:18, stepharo a écrit :
> Thierry
>
> I started a Smacc chapter in the PharoInProgress book.

Ok. I'll have a look if I can contribute during my holidays...

Thierry


>
> Stef
>
>
> Le 29/7/16 à 15:56, Thierry Goubier a écrit :
>>
>>
>> 2016-07-29 15:32 GMT+02:00 Sven Van Caekenberghe <[hidden email]
>> <mailto:[hidden email]>>:
>>
>>
>>     > On 29 Jul 2016, at 14:23, Thierry Goubier
>>     <[hidden email] <mailto:[hidden email]>> wrote:
>>     >
>>     > Hi Sven,
>>     >
>>     > I'd put RB + SmaCC among the lot. But I consider that really
>>     non-trivial : the pattern language of RB (and the underlying
>>     pattern matching and unification algorithm) is top notch, and how
>>     SmaCC builds on RB to virtually generate code / optimise code /
>>     then compile is nothing short of amazing.
>>     >
>>     > SmaCC comes with a pattern matching/unification algorithm over
>>     ASTs + auto-generation of AST code + visitor + tree equality + the
>>     equivalent of Flex/Bison(*) + a GUI in 11401 lines of code.
>>
>>     Well, you don't need to convince me that there is some really
>>     magic code out there, thanks for pointing this out. People should
>>     really do more effort to promote the stuff they like, by writing
>>     some nice accessible article about it. (Hint, hint).
>>
>>
>> Understood :)
>>
>>
>>     The problem is that even though Smalltalk itself is simple, the
>>     whole environment, being super dynamic/flexible, is not. It scares
>>     a lot of people that they cannot really grab and hold the code. It
>>     is only once you get beyond that initial hurdle (which also
>>     requires you to unlearn/learn a new approach), that you can start
>>     to explore and appreciate all the good stuff. I am still not sure
>>     how we can make this clear to newcomers, but it feels like a
>>     critical step.
>>
>>
>> Maybe there is a question of coding style coupled with the tools?
>>
>> Thierry
>>
>>
>>
>>     > Thierry
>>     >
>>     > (*) And a true equivalent, with LR, LALR and GLR !
>>     >
>>     > 2016-07-29 14:05 GMT+02:00 Sven Van Caekenberghe <[hidden email]
>>     <mailto:[hidden email]>>:
>>     > <Social Media Marketing>
>>     >
>>     > The following interesting question/thread could use some more
>>     comments/votes:
>>     >
>>     > Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News
>>     >
>>     > > https://news.ycombinator.com/item?id=12185892
>>     <https://news.ycombinator.com/item?id=12185892>
>>     >
>>     > Sven
>>     >
>>
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News

stepharo
I will review anything you write.

I should redo the tutorial to get better at parsing.


Stef


Le 29/7/16 à 23:22, Thierry Goubier a écrit :

>
>
> Le 29/07/2016 à 21:18, stepharo a écrit :
>> Thierry
>>
>> I started a Smacc chapter in the PharoInProgress book.
>
> Ok. I'll have a look if I can contribute during my holidays...
>
> Thierry
>
>
>>
>> Stef
>>
>>
>> Le 29/7/16 à 15:56, Thierry Goubier a écrit :
>>>
>>>
>>> 2016-07-29 15:32 GMT+02:00 Sven Van Caekenberghe <[hidden email]
>>> <mailto:[hidden email]>>:
>>>
>>>
>>>     > On 29 Jul 2016, at 14:23, Thierry Goubier
>>>     <[hidden email] <mailto:[hidden email]>>
>>> wrote:
>>>     >
>>>     > Hi Sven,
>>>     >
>>>     > I'd put RB + SmaCC among the lot. But I consider that really
>>>     non-trivial : the pattern language of RB (and the underlying
>>>     pattern matching and unification algorithm) is top notch, and how
>>>     SmaCC builds on RB to virtually generate code / optimise code /
>>>     then compile is nothing short of amazing.
>>>     >
>>>     > SmaCC comes with a pattern matching/unification algorithm over
>>>     ASTs + auto-generation of AST code + visitor + tree equality + the
>>>     equivalent of Flex/Bison(*) + a GUI in 11401 lines of code.
>>>
>>>     Well, you don't need to convince me that there is some really
>>>     magic code out there, thanks for pointing this out. People should
>>>     really do more effort to promote the stuff they like, by writing
>>>     some nice accessible article about it. (Hint, hint).
>>>
>>>
>>> Understood :)
>>>
>>>
>>>     The problem is that even though Smalltalk itself is simple, the
>>>     whole environment, being super dynamic/flexible, is not. It scares
>>>     a lot of people that they cannot really grab and hold the code. It
>>>     is only once you get beyond that initial hurdle (which also
>>>     requires you to unlearn/learn a new approach), that you can start
>>>     to explore and appreciate all the good stuff. I am still not sure
>>>     how we can make this clear to newcomers, but it feels like a
>>>     critical step.
>>>
>>>
>>> Maybe there is a question of coding style coupled with the tools?
>>>
>>> Thierry
>>>
>>>
>>>
>>>     > Thierry
>>>     >
>>>     > (*) And a true equivalent, with LR, LALR and GLR !
>>>     >
>>>     > 2016-07-29 14:05 GMT+02:00 Sven Van Caekenberghe <[hidden email]
>>>     <mailto:[hidden email]>>:
>>>     > <Social Media Marketing>
>>>     >
>>>     > The following interesting question/thread could use some more
>>>     comments/votes:
>>>     >
>>>     > Ask HN: Examples of elegant, non-trivial Smalltalk? | Hacker News
>>>     >
>>>     > > https://news.ycombinator.com/item?id=12185892
>>>     <https://news.ycombinator.com/item?id=12185892>
>>>     >
>>>     > Sven
>>>     >
>>>
>>>
>>>
>>
>
>
>