On Dec 21, 2011, at 2:24 PM, Alexander Solla wrote:

> I would rather have an incomplete semantic, and have all the incomplete parts 
> collapsed into something we call "bottom".  We can then be smart and stay 
> within a total fragment of the language (where bottom is guaranteed to not 
> occur).


But part of the whole point of including bottom in our semantics in the first 
place is *exactly* to *enable* us to be smart enough to know when we are 
staying within a total fragment of the language.  For example, including bottom 
in our semantics allows us to make and prove statements like

        fst (42,_|_) = 42

and

        fst _|_ = _|_

That is, as long a you know that the pair is total and that the first element 
is total, calling fst on it is also total regardless of whether the second 
value is total.

Refusing to use bottom in our semantics doesn't make life better by forcing us 
to stay within a total fragment of the language, it actually makes life harder 
by removing from us a useful tool for knowing *how* to stay within a total 
fragment of the language.

Cheers,
Greg
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to