[Haskell-cafe] Implementing Mathematica

Thomas Conway drtomc at gmail.com
Thu Jun 14 18:00:36 EDT 2007

>  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), ....

Dr Thomas Conway
drtomc at gmail.com

Silence is the perfectest herald of joy:
I were but little happy, if I could say how much.

More information about the Haskell-Cafe mailing list