[Haskell-cafe] Re: ANN: data-category, restricted categories

wagnerdm at seas.upenn.edu wagnerdm at seas.upenn.edu
Tue Mar 30 15:45:46 EDT 2010


Quoting Ashley Yakeley <ashley at semantic.org>:

>   data Nothing
>
> I avoid explicit "undefined" in my programs, and also hopefully  
> non-termination. Then the bottomless interpretation becomes useful,  
> for instance, to consider Nothing as an initial object of Hask  
> particularly when using GADTs.

Forgive me if this is stupid--I'm something of a category theory  
newbie--but I don't see that Hask necessarily has an initial object in  
the bottomless interpretation. Suppose I write

data Nothing2

Then if I understand this correctly, for Nothing to be an initial  
object, there would have to be a function f :: Nothing -> Nothing2,  
which seems hard without bottom. This is a difference between Hask and  
Set, I guess: we can't write down the "empty function". (I suppose  
unsafeCoerce might have that type, but surely if you're throwing out  
undefined you're throwing out the more frightening things, too...)

~d


More information about the Haskell-Cafe mailing list