What do you think about Mercury?

Terrence Brannon princepawn@earthlink.net
Sun, 8 Apr 2001 11:20:29 -0700 (PDT)

I have decided to escape the world of Perl into something more
definitional. I gave up on CAML and Erlang because they contain
imperative elements and I am tired of that form of coding. So, I have
narrowed it down to Haskell and Mercury.

The attractive things about Haskell are:
- automatic generation of concurrent programs from normal
source... instead of sending msgs to processes like in Erlang. 
- large user base
- possible real job in industry (with Galois Connections).
- several books based on it
- binaries available (even for my mac os x box already!).

So, with that said,


lists a number of advantages of Mercury over Haskell. And both Haskell
and Mercury did well in the ICFP.

Does anyone have anything to say about these criticisms? There were
two particular things in the list that caught my attention:

1- Haskell is a pure functional language, but I don't see any support
for backtracking or other logic features... but my guess is you have
some way of handling this? How?

2- Mercury's mode system provides support for subtypes. For example, you
can declare that a function whose argument is a discriminated union
type accepts only a subset of the possible constructors for that type,
and the mode system will enforce this.