Utilizzando GHCi faccio la seguente:Fail in una facile manipolazione lista
prelude> let lol [] = []
prelude> let lol (x:xs) = (lol xs) ++ [x]
Quando cerco di valutare
prelude> lol [1, 2, 3]
ottengo
Exception: <interactive>:3:5-32: Non-exhaustive patterns in function lol
credo di capire il problema (elenco con 1 elemento non corrispondente?), ma non è in grado di vedere perché non può corrispondere a x: xs come x: []
'diamo lol xs = caso xs di [] -> []; (x: xs) -> lol xs ++ [x] '. –