Sorry, premature send on that last email ...<div><br></div><div>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.</div>
<div><br></div><div>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.</div>
<div><br></div><div>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.</div>
<div><br></div><div>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.</div>
<div><br></div><div>I next read the Information section and found it all very informative. The benchmarks seemed stale, but still provided useful information.</div><div><br></div><div>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.</div>
<div><br></div><div>The back-ends page was very helpful. It's rare to find such good support for so many back-ends.</div><div><br></div><div>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.</div>
<div><br></div><div>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.</div>
<div><br></div><div>-- </div><div>Michael</div>