Zaczynam uczyć się Haskella z "Learn You a Haskell for Great Good!" i popełniłem dziwny błąd, którego nie mogę znaleźć.Definicja funkcji w Haskell
Oto kod wpisałem:
let xs = [if x < 3 then "bang" else "boom" | x <- xs]
A tekst błędu w GHCi:
No instance for (Num [Char])
arising from the literal `3'
Possible fix: add an instance declaration for (Num [Char])
In the second argument of `(<)', namely `(3)'
In the expression: x < (3)
In the expression: if x < (3) then "bang" else "boom"
Ale kiedy wpisać:
let boom xs = [if x < 3 then "bang" else "boom" | x <- xs]
który jest przykład książki, nie mam żadnego problemu.
Czy ktoś mógłby wyjaśnić mój błąd?
Dziękuję wam za odpowiedzi; uzupełniają się nawzajem. – guillaume8375