Why not ask the computer? -- Lennart bamse% ghci ___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 6.4.1, for Haskell 98. / /_\\/ __ / /___| | http://www.haskell.org/ghc/ \____/\/ /_/\____/|_| Type :? for help. Loading package base-1.0 ... linking ... done. Prelude> :t (.) . (.) (.) . (.) :: (b -> c) -> (a -> a1 -> b) -> a -> a1 -> c Prelude> Leaving GHCi. bamse% djinn Welcome to Djinn version 2005-12-12. Type :h to get help. Djinn> f ? (b -> c) -> (a -> a1 -> b) -> a -> a1 -> c f :: (b -> c) -> (a -> a1 -> b) -> a -> a1 -> c f x1 x2 x3 x4 = x1 (x2 x3 x4) Djinn> :q Bye. Brian Hulley wrote:
Taral wrote:
On 5/28/06, Dominic Steinitz <dominic.steinitz@blueyonder.co.uk> wrote:
Is this defined in some library? Thanks, Dominic.
Don't think so. I use:
\a b -> f (g a b)
I don't see how (.) . (.) translates into something so simple. Using c for (.) to make things easier to write, I get:
(.) . (.) === c c c === \x -> (c c c x) === \x -> (c (c x)) === \x -> (\y z -> c (c x) y z) === \x -> (\y z -> (c x) (y z)) === \x -> (\y z -> (\p q -> c x q p) (y z)) === \x -> (\y z -> (\p q -> x (q p) (y z)) === \x -> (\y z -> (\q -> x (q (y z))))
=== \x y z q -> x (q (y z))
Have I made an error somewhere above?
Thanks, Brian.