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

MigMit miguelimo38 at yandex.ru
Thu Dec 22 05:39:31 CET 2011


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.


More information about the Haskell-Cafe mailing list