[Haskell-cafe] What's going on here?

VoidPrayer voidprayer at gmail.com
Sat Jan 16 22:05:25 EST 2010


在 2010年 1月 17日 星期日 11:02:59,michael rice 寫道:
> I don't see anything wrong with this function, which just subtracts 1 from
>  the first element of an Int list (if there is a first element).
> 
> Michael
> 
> My function:
> 
> dropFirst :: [Int] -> [Int]
> dropFirst [] = []
> dropFirst (x:xs) = (x-1) : xs
> 
> My output:
> > :l dropfirst
> 
> [1 of 1] Compiling Main             ( dropfirst.hs, interpreted )
> Ok, modules loaded: Main.
> *Main> dropFirst [3 4 5 6]

Use dropFirst [3,4,5,6], I think.

> 
> <interactive>:1:11:
>     No instance for (Num (t -> t1 -> t2 -> Int))
>       arising from the literal `3' at <interactive>:1:11-17
>     Possible fix:
>       add an instance declaration for (Num (t -> t1 -> t2 -> Int))
>     In the expression: 3 4 5 6
>     In the first argument of `dropFirst', namely `[3 4 5 6]'
>     In the expression: dropFirst [3 4 5 6]
> *Main>
> 


More information about the Haskell-Cafe mailing list