Mercury (programming language): Difference between revisions

Content deleted Content added
Adding local short description: "Functional logic programming language", overriding Wikidata description "functional logic programming language"
Line 58:
|first=Nancy |last=Mazur |date=May 2004 |publisher=Katholieke Universiteit Leuven}}</ref> but it can make certain programming constructs (such as a switch over a number of options, with a default{{Dubious|Examples_of_difficulties_introduced_by_declarativeness.3F|date=February 2009}}) harder to express. (While Mercury does allow impure functionality, this serves mainly as a way to call foreign language code. All impure code must be marked explicitly.) Operations which would typically be impure (such as [[input/output]]) are expressed using pure constructs in Mercury using [[Linear type system|linear types]], by threading a dummy ''world'' value through all relevant code.
 
Notable programs written in Mercury include the Mercury compiler and the [[Prince XML]] formatter. The Software company Mission Critical ITODASE has also been using Mercury since 2000 to develop enterprise applications and its Ontology-DrivenCentric software development platform, ODASE.<ref>[https://webwww.archiveodase.org/web/20170626162241/http://missioncriticalit.comio/ Mission Critical ITODASE]</ref>
 
==Back-ends==