On Wed, May 19, 2010 at 04:27:14AM +0000, R J wrote: > > What are some simple functions that would naturally have the following type > signatures: > f :: (Integer -> Integer) -> Integer
Well, this means f is given a function from Integer to Integer, and it has to somehow return an Integer, (possibly) using the function it is given. For example, f could just ignore its argument: f _ = 6 Or it could apply it to a particular input value: f g = g 0 I'll let you think of some other possibilities. > g :: (Integer -> Integer) -> (Integer -> Integer) g is given an Integer->Integer function and has to produce a different one. But as someone else pointed out, you can also think of this as g :: (Integer -> Integer) -> Integer -> Integer That is, g is given an Integer->Integer function as well as an Integer, and must somehow use these things to produce another Integer. There are lots of ways to do this--I'll let you figure this one out. -Brent _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
