Отправлено с iPad

24.12.2011, в 18:50, Alexander Solla <alex.solla@gmail.com> написал(а):

In the same way, denotational semantics adds features which do not apply to a theory of finite computation.

And why exactly should we limit ourselves to some theory you happen to like?

 

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

What do you mean by "interpretation"?

You know, the basic notion of a function which maps syntax to concrete values.  

http://en.wikipedia.org/wiki/Model_theory

But (_|_) IS a concrete 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. 

Mere syntax.

So what?

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

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

I did not introduce "good" and "bad" into this discussion.  I have merely said (in more words) that I want my hypothetical perfect language to prefer OPERATIONAL (model) SEMANTICS for a typed PARACONSISTENT LOGIC over the DENOTATIONAL SEMANTICS which the official documentation sometimes dips into.

Well, that's a different story. But it seems to me that the term "Haskell-like" won't apply to that kind of language. Also, it seems to me (though I don't have any kind of proof) that denotational semantics is something that is much simpler.

It is clear that denotational semantics is a Platonic model of constructive computation.

Could you please stop offending abstract notions?

Then you are mistaken.  I am talking about choosing the appropriate mathematical model of computation to accurately, clearly, and simply describe the language's semantics.

Well, domain theory does exactly that for Haskell.