[Haskell-cafe] What's going on here?
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).
> 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.
> 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]
More information about the Haskell-Cafe