On Mon, 2006-09-25 at 22:22 +0200, Christoph Herrmann wrote: . . . > What Prolog really provides concerning automatic problem solving > is little: equation solving in term algebra; you can simulate that > in Haskell without much effort. On the other hand, I saw Haskell > classified as a 3GL. The problem is that Haskell often exposes > the algorithmic structure. What people often forget is that Prolog > programs in non-trivial situations are likely to fail if you do > not prescribe the evaluation order, by features like the cut which > destroy the declarative semantics. People also forget that arithmetic > constraints in Prolog have to be directed (input/output variables), > no difference to Haskell.
I spent some time working on a large Prolog application where performance was critical, and it became obvious that when a Prolog program is tuned by removing non-determinism it moves towards a functional program. Any real (non-textbook example) Prolog program has to expose algorithmic details simply because the programmer must a) make decisions and b) express them. I think you're right that Haskell should be in the same bag as Prolog. -- Bill Wood _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe