
[moved to cafe] Dominic Steinitz wrote:
Taral wrote:
On 5/28/06, Dominic Steinitz
wrote: Is this defined in some library? Thanks, Dominic.
Don't think so. I use:
\a b -> f (g a b)
Taral,
Thanks. What prompted this question is that I find myself writing things like:
foo = ((.).(.)) concat intersperse
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)) ? Although the correctness of the above translation has been proved, it seems extremely non-obvious to me that to compose a function with another function which takes two arguments you should use the compose function to compose the compose function with itself... Is this kind of composition common in some branch of Lambda calculus? Is it something that I might in time be able to see directly without having to go through a proof? Does anyone else "see" the above translation intuitively and is there a way to imagine it? Thanks, 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