[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