You have brought up prolog, unification, etc .. and knowing this is the
Haskell board, just wondering what anyones thoughts on the hybrid haskell
based language CURRY, for these kind of problems.  It seems that it's
development is stalled... and sorry ahead of time if I am wrong on that
point.

In a previous life, I was a logic programming zealot, and looked at
curry. As far as I was concerned, it shared a significant problem with
most logic programming work: the designers had a bit of a slack
attitude to semantics. The key problem was that it had
non-deterministic functions so you could write (haskell syntax):
   main = do
       if f 42 /= f 42 then putStr "Look ma, no referential
transparency\n" else return ()

and expect the putStr could get executed.

For reference, it's not a problem in Prolog (if you overlook IO being
done with side effects ;-)) because the variables are explicit, and
not just a notational convenience as they are in lambda calculus:

main :-
   f(42,X), f(42,Y), ....

cheers,
T.
--
Dr Thomas Conway
[EMAIL PROTECTED]

Silence is the perfectest herald of joy:
I were but little happy, if I could say how much.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to