Hola Fernando, On Nov 8, 2007 1:52 PM, Bayley, Alistair <[EMAIL PROTECTED]> wrote: > First, you've given a type sig which > suggests that f takes two arguments (both lists of type [a]) and returns > a list of type [a]. However, there is only one argument to f. A type sig > that better matches your function definition might be f :: [a] -> [a]
Alistair is surely aware of this, but, as a side note, and even if in this concrete case f might need to make the two arguments explicit, currying permits avoid specifing all the arguments (and it's used all the time by Haskell programmers) This two definitions are equivalent add1 :: Num a => [a] -> [a] add1 = map (+1) add1 :: Num a => [a] -> [a] add1 xs = map (+1) xs _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe