[Haskell-beginners] Why the length function I wrote has such a type signature?

Isaac Dupree ml at isaac.cedarswampstudios.org
Thu Nov 11 04:11:36 EST 2010

On 11/11/10 03:24, 贾旭卿 wrote:
> 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.

In addition to what Chaddaï Fouché said, this particular error is simply 
due to writing "mylength" when it should be "myLength" (L uppercase).


More information about the Beginners mailing list