On 24 Jan 2009, at 22:47, Lennart Augustsson wrote:

You can dream up any semantics you like about bottom, like it has to
be () for the unit type.
But it's simply not true.  I suggest you do some cursory study of
denotational semantics and domain theory.
Ordinary programming languages include non-termination, so that has to
be captured somehow in the semantics.
And that's what bottom does.

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!

Some chatting with Conal about the semantics I'm talking about revealed some nice properties, so I'm gonna run away and think about this, and then blog about it.

Bob_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to