Thanks!What am I doing wrong?I've tried a lot, but I always got an error.Error:Code:HiI'm trying to make a custom function to replace a given element in a list.
let i = elemIndex toReplace lst in
case i of
Just i ->
let z = splitAt i lst
x = fst z
y = (snd z)
in
init x
x ++ newNmr
x ++ y
Nothing -> [5]1)
* Couldn't match expected type `[a] -> [a]' with actual type `[a]'
* The function `init' is applied to two arguments,
but its type `[a] -> [a]' has only one
In the first argument of `(++)', namely `init x x'
In the expression: init x x ++ newNmr x ++ y
* Relevant bindings include
y :: [a] (bound at C:\users\niel\desktop\test2.hs:41:21)
x :: [a] (bound at C:\users\niel\desktop\test2.hs:40:21)
z :: ([a], [a]) (bound at C:\users\niel\desktop\test2.hs:39:21)
newNmr :: [a] (bound at C:\users\niel\desktop\test2.hs:34:30)
lst :: [a] (bound at C:\users\niel\desktop\test2.hs:34:26)
toReplace :: a (bound at C:\users\niel\desktop\test2.hs:34:16)
(Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant-binds)
2)
* Couldn't match expected type `[a] -> [a]' with actual type `[a]'
* The function `newNmr' is applied to one argument,
but its type `[a]' has none
In the first argument of `(++)', namely `newNmr x'
In the second argument of `(++)', namely `newNmr x ++ y'
* Relevant bindings include
y :: [a] (bound at C:\users\niel\desktop\test2.hs:41:21)
x :: [a] (bound at C:\users\niel\desktop\test2.hs:40:21)
z :: ([a], [a]) (bound at C:\users\niel\desktop\test2.hs:39:21)
newNmr :: [a] (bound at C:\users\niel\desktop\test2.hs:34:30)
lst :: [a] (bound at C:\users\niel\desktop\test2.hs:34:26)
toReplace :: a (bound at C:\users\niel\desktop\test2.hs:34:16)
(Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant-binds)
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell