[mercury-users] Re: first impressions

Michael Hendricks michael at ndrix.org
Tue Dec 27 03:05:34 AEDT 2011

Sorry, premature send on that last email ...

As I mentioned a couple days ago, I'm learning Mercury.  I thought I'd
share my first impressions as a newcomer in case they're valuable to any of
the core developers.  If this post should be sent to the developers list
instead, please let me know.

Some brief background, so you know where I'm coming from.  I've been
programming for around 20 years.  I'm a software developer by trade working
mostly in Perl and Haskell.  I write a couple Prolog programs each year,
but am still an intermediate at logic programming.  I was drawn to Mercury
because I see enormous potential in a logic programming language with
static types.

On the website, the introductory paragraph compares the language to Pascal
and Ada.  Since I haven't heard from those languages in years, I thought
maybe Mercury was an old project having been abandoned back when those
languages were still popular.  I looked around for a date on the page and
was relieved to find the Latest News section with posts within the last
couple months.  Perhaps it would be better to mention Java and C# instead
of Pascal and Ada.

My next stop was the Download page to learn whether Mercury was open source
software.  I quickly found the answer in the first paragraph.  I was
surprised that the project uses CVS for version control.  This choice of
version control made me again wonder whether the project had been
abandoned.  I hadn't seen an active project use CVS for a long time.

I next read the Information section and found it all very informative.  The
benchmarks seemed stale, but still provided useful information.

Next stop was the Documentation page.  I read the Tutorial in the menu
before I saw Ralph Becket's tutorial.  The latter is very good.  Maybe the
Tutorial menu item should be removed so newbies like me find his tutorial
first thing.  The documentation all looked very thorough.  I found the
comparison with Haskell very helpful.

The back-ends page was very helpful.  It's rare to find such good support
for so many back-ends.

My last stop was the Papers page.  The number and recency of the papers was
very encouraging.  For most of the papers, I found myself wondering whether
the work had been incorporated into the main Mercury compiler.  It took me
quite a while to answer that question about STM, region-based memory
management and compile-time garbage collection.  It would have been useful
if there were an annotation if the ideas from a particular paper have now
become part of MMC.

Anyway, that's about all I remember from my first foray into the language.
 Overall, I'm very impressed and look forward to learning more.  Thanks to
all who've worked hard to make Mercury what it is.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurylang.org/archives/users/attachments/20111226/b26324fa/attachment.html>

More information about the users mailing list