
Dominic Steinitz wrote:
Brian Hulley wrote:
Hi Dominic - I hope it's ok for me to ask this question and I'm absolutely burning with curiosity to find out the answer...
How did you know to write ((.).(.)) instead of (\f g a b -> f (g a b)) ?
Brian,
I can't remember. I certainly don't find it intuitive. I think it was discussed on the Haskell mailing list a long time ago. Also I had a conversation with someone who pointed out that it's well known in combinatory logic. http://en.wikipedia.org/wiki/Combinatory_logic has a translation scheme from the lambda calculus to combinators. I presume that's how @pointless plugin in lambdabot works.
Dominic.
Thanks for the link. I think it's fascinating that already with ((.).(.)) there is something that can be used practically and proved equivalent to something easily comprehensible, but is itself perhaps already beyond the range of conscious human comprehension (at least without having to rent a cave in the Himalayas for several centuries... :-) ) Perhaps here is an interesting line of study for anyone psychologically inclined? Certainly it shows how much there is still to explore in terms of the inner landscape of lambda calculus. Best regards, Brian. -- Logic empowers us and Love gives us purpose. Yet still phantoms restless for eras long past, congealed in the present in unthought forms, strive mightily unseen to destroy us. http://www.metamilk.com