[Haskell-beginners] Why the length function I wrote has such a type
signature?
贾旭卿
amazingjxq at gmail.com
Thu Nov 11 03:24:44 EST 2010
This is exercise 3.1 of Real World Haskell. I have my length function like
this:
myLength [] = 0
myLength (_:xs) = 1 + (myLength xs)
And I assumed the type signature is like this:
mylength :: [a] -> Num
But when I wrote this into the file and reloaded it into ghci, there is an
error.
> The type signature for `mylength' lacks an accompanying binding
> Failed, modules loaded: none.
>
And the type signature given by ghci is
> myLength :: (Num t1) => [t] -> t1
>
So how can I modify the function to have a type signature like the first
one?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/beginners/attachments/20101111/b3aeb15e/attachment.html
More information about the Beginners
mailing list