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
Hi Stéphane,
2007/2/24, Stéphane Rollandin lecteur@zogotounga.net:
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:
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 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
Thank you very much for your explanation. Why not writing it into the website ?
2007/2/25, Stéphane Rollandin lecteur@zogotounga.net:
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
squeak-dev@lists.squeakfoundation.org