This is the best explanation of the Y combinator I’ve ever seen.
This entry was posted
on Tuesday, May 17th, 2005 at 10:58 pm and is filed under Computer science.
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.
What would your “why” be? I always viewed it as a removal of side effects. When the code becomes the data, then you get that interesting meta self referentiality, and you want to abstract the operation of transformations of the code, from the nuts and bolts of it. Perhaps I have not thought deeply enough about it. Thus I would be interested to hear your thoughts.
Yes, the removal of side effects. Plus, the awareness that a recursive function call implies side effects (something you dont get from imperative languages).
May 18th, 2005 at 7:40 am
Coming from an imperative background, I read several explanations of Y-combinators before I understood why they were interesting (same for monads).
This explanation, found via a thread in classic Lambda the Ultimate, includes a good motivation for why.
May 18th, 2005 at 3:25 pm
What would your “why” be? I always viewed it as a removal of side effects. When the code becomes the data, then you get that interesting meta self referentiality, and you want to abstract the operation of transformations of the code, from the nuts and bolts of it. Perhaps I have not thought deeply enough about it. Thus I would be interested to hear your thoughts.
May 18th, 2005 at 3:45 pm
Yes, the removal of side effects. Plus, the awareness that a recursive function call implies side effects (something you dont get from imperative languages).