3 Feb
2002
3 Feb
'02
1:42 a.m.
On Fri, 1 Feb 2002, Ashley Yakeley wrote:
At 2002-02-01 10:45, Dean Herington wrote:
h1 :: (a -> a -> (a,a)) -> (a -> a -> (a,a)) -> (a -> a -> (a,a)) h1 = f1 # g1
I think you mean:
h1 :: (a -> a -> (a,a)) -> (a -> a -> (a,a)) -> (a -> a -> (a,a)) h1 f g = f # g
Actually, I botched the type declaration. I meant:
h1 :: a -> a -> (a,a) h1 = f1 # g1
But your suggestion, which compiles without complaint, gives me an inkling why the above doesn't work. With `h1 f g = f # g` and the type declaration for h1, the compiler sees that f1 and g1 must be used at the same type. With `h1 = f1 # g1`, that connection is missing. So I guess my `Composable` class example can't work in general. Dean