[ANN] LambdaMessageSend explained

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

[ANN] LambdaMessageSend explained

Stéphane Rollandin
hello list,

I just put up a new version of LambdaMessageSend on SqueakMap (14), and
there is now a home page with a bunch of notes attempting to explain as
clearly as possible what this thing is:

http://www.zogotounga.net/comp/squeak/functionaltalk.htm


... any comment and criticism welcome

Stef

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] LambdaMessageSend explained

Damien Cassou-3
Hi Stéphane,

2007/2/24, Stéphane Rollandin <[hidden email]>:
> I just put up a new version of LambdaMessageSend on SqueakMap (14), and
> there is now a home page with a bunch of notes attempting to explain as
> clearly as possible what this thing is:
>
> http://www.zogotounga.net/comp/squeak/functionaltalk.htm

What you did looks really cool. I will prepare it for next squeak-dev
image. Did you already use it in one of your projects ? Can you give
us a little background please ?

Bye

--
Damien Cassou


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] LambdaMessageSend explained

Stéphane Rollandin
Damien Cassou wrote:
> What you did looks really cool. I will prepare it for next squeak-dev
> image. Did you already use it in one of your projects ? Can you give
> us a little background please ?

yes, I use it a lot in µO.

it first started from ideous hacks I did on MenuMorph and MenuItemMorph
so that I could have highly dynamic behavior from menus. I would set the
morphs target as a MessageSend with another MessageSend as receiver and
a custom made evaluation trigger as selector, etc. very ugly ! basically
what I describe in the first part of the notes: how trying to nest
MessageSends naturally leads to LambdaMessageSend.

now about all menus in µO rely on it.

and again in µO, I also use subclasses of LambdaMessageSend for
representing plain mathematical functions. see the NFunctionEditor for
example: if you do 'µO objects'->'+ µO tools'->FunctionEditor then click
'help' in the appearing bookmorph, you will see how functions can be
defined directly by their equation: this is all based on LambdaMessageSend.


the lambda calculus stuff just came along as I tried to figure out the
conceptual framework for evaluation, which is a tricky matter.


curiously enough I also first started to hack a Lisp interpreter
thinking that would be a good way to test the LambdaMessageSend idea,
but I eventually came up with Lispkit which does not make use of it at
all ! ... still I am now trying to implement a compiler and it seems it
could be quite useful at last.


so everything came from very practical problems I had with µO (I'm no
theorist). trouble is, I could not stop digging and eventually went very
astray, since my primary goal is to compose music. I would have been
better off learning guitar :)


regards,

Stef



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] LambdaMessageSend explained

Stéphane Rollandin
Stéphane Rollandin wrote:
> it first started from ideous hacks

hideous for sure...


Stef

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] LambdaMessageSend explained

Damien Cassou-3
In reply to this post by Stéphane Rollandin
Thank you very much for your explanation. Why not writing it into the website ?

2007/2/25, Stéphane Rollandin <[hidden email]>:

> Damien Cassou wrote:
> > What you did looks really cool. I will prepare it for next squeak-dev
> > image. Did you already use it in one of your projects ? Can you give
> > us a little background please ?
>
> yes, I use it a lot in µO.
>
> it first started from ideous hacks I did on MenuMorph and MenuItemMorph
> so that I could have highly dynamic behavior from menus. I would set the
> morphs target as a MessageSend with another MessageSend as receiver and
> a custom made evaluation trigger as selector, etc. very ugly ! basically
> what I describe in the first part of the notes: how trying to nest
> MessageSends naturally leads to LambdaMessageSend.
>
> now about all menus in µO rely on it.
>
> and again in µO, I also use subclasses of LambdaMessageSend for
> representing plain mathematical functions. see the NFunctionEditor for
> example: if you do 'µO objects'->'+ µO tools'->FunctionEditor then click
> 'help' in the appearing bookmorph, you will see how functions can be
> defined directly by their equation: this is all based on LambdaMessageSend.
>
>
> the lambda calculus stuff just came along as I tried to figure out the
> conceptual framework for evaluation, which is a tricky matter.
>
>
> curiously enough I also first started to hack a Lisp interpreter
> thinking that would be a good way to test the LambdaMessageSend idea,
> but I eventually came up with Lispkit which does not make use of it at
> all ! ... still I am now trying to implement a compiler and it seems it
> could be quite useful at last.
>
>
> so everything came from very practical problems I had with µO (I'm no
> theorist). trouble is, I could not stop digging and eventually went very
> astray, since my primary goal is to compose music. I would have been
> better off learning guitar :)
>
>
> regards,
>
> Stef
>
>
>
>

--
Damien Cassou


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] LambdaMessageSend explained

Stéphane Rollandin
Damien Cassou wrote:
> Thank you very much for your explanation. Why not writing it into the
> website ?


I will..


Stef