This is probably a result of strictness analysis. error is
technically strict, so it is reasonable to optimize to:
let e = error "foo" in e `seq` error e
On Thu, Feb 3, 2011 at 1:44 PM, Steffen Schuldenzucker
<[email protected]> wrote:
>
> Dear cafe,
>
> does anyone have an explanation for this?:
>
>>>> error (error "foo")
> *** Exception: foo
>
>>>> error $ error "foo"
> *** Exception: *** Exception: foo
>
> -- Steffen
>
> _______________________________________________
> Haskell-Cafe mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe