[Haskell-cafe] Re: Laws and partial values

Thomas Davie 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 mailing list