[Haskell-cafe] Re: Laws and partial values
tom.davie at gmail.com
Sat Jan 24 17:14:05 EST 2009
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.
More information about the Haskell-Cafe