[mercury-users] insts and modes question

Raphael Collet rco at missioncriticalit.com
Thu Apr 15 17:56:34 AEST 2010

Raphael Collet wrote:
> Dear Vladimir,
> Mercury is not a real logic programming language.  Think of it as a 
> functional language syntactically dressed like a logic language.  But 
> the fundamentals of logic programming (the logic variables) have been 
> ruled out of the language.
> I have tried myself to figure out how to use modes to extend the 
> usability of the language (in the LP sense), but I gave up.  Modes and 
> insts are too limited in practice to do that.  Partially instantiated 
> data structures are not supported, and AFAIK there is no plan to support 
> it in the near future.

Just an extra note to avoid any misunderstanding, as my text above looks pretty negative.  I wrote that Mercury is not Prolog, but it does not mean that Mercury is too limited as such.  Modes and insts, together with the type system, enforce a strong discipline that is very useful for large development projects.  They also provide relevant information for the compiler to generate efficient code.  This is why we develop, with quite some success, in Mercury at Mission Critical (the company I work for).  We have never experienced its features as fundamental limitations.


mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au

More information about the users mailing list