Here are some replies to some of Michael's points:
> I am also in a good position since the last sentence is also true
> of you replace "Escher" by "Curry" :-)
Well if Haskell is a subset of Escher and Escher is a subset of Curry, 
then Curry also includes Haskell. QED. This isn't the point. Haskell is
already  very expressive. Escher adds logic programming facilities powerful 
enough to easily encode typical Prolog-like programs together with sets.
Do we need to go further? I really think we can argue at the abstract
level forever on this - what we need are some concrete programs. And I think
the ball is in the narrowing court. I say rewriting is enough. Let's see
the examples which refute this!
 
> In other words, you do not consider "Concurrent Constraint" languages
> like Oz or Goffin as concurrent?
Well I have no problem accepting that Goffin and Oz are concurrent. A good 
test is whether one can write typical concurrent examples, for example,
   dining philosophers (a synchronization problem)
   server-clients communicating on a channel (a communication problem)
These make good test cases to discuss. I believe you can write these 
straightforwardly in Goffin and Oz. But I haven't any idea at all how to 
write them in Escher using only the mechanism which delays calls that aren't 
sufficiently instantiated - it doesn't appear to provide enough control. 
(If it is possible, please show me how!) So something more is needed. 
I decided to add something like the concurrent Haskell proposal which I 
believe leads to elegant looking concurrent programs. Certainly the above 
two test cases look very acceptable. (I'll post these when I've sorted out 
some syntactic details.)
> Maybe your different understanding is due to the fact that you
> are not interested in complete constraint solvers. However,
> providing complete constraint solvers requires a different
> view of constraints. Thus, the equality symbol is usually interpreted
> as strict equality, and also the CLP framework of Jaffar/Lassez
> distinguishes between constraints and other user-defined predicates.
Escher doesn't have the same idea of completeness as Curry. The only 
completeness that could be offered is a guarantee of reaching some kind
of normal form. I don't believe there is much prospect of a useful general
result of this kind for Escher. For example, the rewrites for the connectives
and quantifiers are highly selective. I only included what I consider
essential. So you are right - I don't put a high priority on having a 
completeness result. (Given that I spent several years of my life proving
completeness results for SLDNF-resolution, I don't feel bad about this!)
John
Received on Do Jul 03 1997 - 15:31:00 CEST
This archive was generated by hypermail 2.3.0
: Do Jun 20 2024 - 07:15:05 CEST