On Dec 22, 2011, at 12:25 PM, Alexander Solla wrote: > It is not "limiting" to make distinctions that capture real differences. An > overly broad generalization limits what can be proved. Can we prove that > every vehicle with wheels has a motor? Of course not -- bicycles exist. Can > we prove every car has a motor? Yes we can. Throwing bottoms into the > collection of values is like throwing bicycles into the collection of cars. > We can say /less/ about the collection than we could before, /because/ the > collection is more general.
Sure, throwing bottom into the set of values means that we can no longer prove as many nice properties about them. However, since bottom *does* exist in this set since functions cannot be guaranteed to terminate, the properties that we do prove will have more relevance. Cheers, Greg
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe