Hi there,


The following program (ghc-4.02):

> f :: [Int] -> Int
> f (i:is) | trace "0" False = error []
> f is     | trace "1" False = error []
> f is = f $ tail is

> main = putStr $ show $ f [0]

Outputs:

1

Fail: Prelude.tail: empty list

wheras it should have output:

0
1

Fail: Prelude.tail: empty list




Regards,


Marc van Dongen

Reply via email to