Yet I think it would be
valid to say that seq can turn a non-terminating (exceptioning) program
into a terminating one.

Do you have an example of that?

Sure.
    foldl (+) 0 [1..10000000] :: Integer
    *** Exception: stack overflow
    foldl' (+) 0 [1..10000000] :: Integer
    50000005000000

The only difference between foldl and foldl' is strictness (the use of seq). By "non-terminating (exceptioning)" I of course really meant "terminating with bottom" as opposed to "terminating with a defined value", but since non-termination and exceptions are semantically both bottom, you won't mind that slip. :-)

Regards,
    Malcolm

_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime

Reply via email to