[Haskell-cafe] If you'd design a Haskell-like language, what would you do different?

Gregory Crosswhite gcrosswhite at gmail.com
Thu Dec 22 04:20:25 CET 2011


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20111222/35982a49/attachment.htm>


More information about the Haskell-Cafe mailing list