[Haskell-cafe] Re: [Haskell] (.) . (.)
Brian Hulley
brianh at metamilk.com
Mon May 29 10:43:18 EDT 2006
[moved to cafe]
Dominic Steinitz wrote:
> Taral wrote:
>> On 5/28/06, Dominic Steinitz <dominic.steinitz at blueyonder.co.uk>
>> 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
More information about the Haskell-Cafe
mailing list