On Sat, 24 Jan 2009, Thomas Davie wrote:

I'm not sure why you're saying that this semantics does not capture non-termination – the only change is that computations resulting in the unit type *can't* non terminate, because we can always optimize them down to (). Of course, if you want to be able to deal with non-termination, one could use the Maybe () type!

I find the current semantics better: All types are handled the same way by default and whenever you want to "optimize" (undefined::()) to () you can use
   optimizeNull :: () -> ()
   optimizeNull _ = ()
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to