On 22 Dec 2011, at 06:25, Alexander Solla wrote:

> Denotational semantics is unrealistic.

And so are imaginary numbers. But they are damn useful for electrical circuits 
calculations, so who cares?

> The /defining/ feature of a bottom is that it doesn't have an interpretation.

What do you mean by "interpretation"?

> They should all be treated alike, and be treated differently from every other 
> Haskell value.

But they ARE very similar to other values. They can be members of otherwise 
meaningful structures, and you can do calculations with these structures. "fst 
(1, _|_)" is a good and meaningful calculation.

>  Every other Haskell value /does/ have an interpretation.

So, (_|_) is bad, but (1, _|_) is good?

You know, my scientific advisor used to say "math is about calling different 
things by the same name; philosophy is about calling the same thing by 
different names". It seems to me that philosophy is something you're doing now, 
whereas programming is all about math.

> I happen to only write Haskell programs that terminate.

Sure, but if you've ever used recursion, then you do have bottoms in your 
program.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to