[mercury-users] Some remarks and questions

Ralph Becket rafe at cs.mu.OZ.AU
Wed Apr 30 08:42:43 AEST 2003

Hi Luc,

C++ and Perl are less suitable for large, team projects for a number of
reasons.  It is very difficult for compilers for these languages to
identify anything other than trivial bugs in source code; they have
poor abstractions and perceived performance gains due to these
languages are often lost as soon as one uses their (rather weak)
abstraction mechanisms.  Moreover, C++ and Perl make it relatively easy
to break the abstraction barrier, which might be handy when meeting a
deadline, but is a real headache when it comes to maintenance and reuse.

Mercury makes it very hard for the programmer to take shortcuts.  Its
pure, declarative nature allows the compiler to spot non-trivial errors
(such as determinism problems), makes certain other kinds of bugs
virtually impossible to express (e.g. one almost *never* needs to resort
to run time type casts), has powerful type and mode systems that allow
many constraints to be expressed in declarations rather than as code,
and its highly expressive nature includes powerful (and unbreakable)
abstraction mechanisms.

There is already at least one commercial company (Mission Critical in
Belgium) with a product whose "core logic" is implemented in Mercury.

We have done some basic work on Visual Studio integration.  More remains
to be done to provide something more in line with what a Visual Basic
programmer would expect from the environment - this is a manpower issue
more than anything else.  It's hard to give an ETA at the moment.

We can now bootstrap the compiler on the MS CIL/CLR platform.  All but a
few tests in our test suite compile and run correctly.

I am currently going through the second draft of a Mercury text book
aimed at first or second year university students and commercial
programmers.  Give me a couple of days and I can send you part of the
draft - any feedback would be gratefully received.

- Ralph
mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe

More information about the users mailing list