Mercury (programming language): Difference between revisions

Content deleted Content added
m Changed latest version from 0.12.1 to 0.12.2
No edit summary
Line 22:
Mercury is developed at the [[University Of Melbourne]] Computer Science department under the supervision of [[Zoltan Somogyi]].
 
Mercury has several back-ends, including low-level C for [[GNU Compiler Collection|GNU C]] (the original Mercury back-end), high-level C, Microsoft's IL for Microsoft's .NET, Java for Sun's JVM, and assembler via the [[GNU Compiler Collection|gcc]] back-end (the last three are only considered alpha or beta quality). Mercury has also been used to target Aditi, a deductive database system also developed at the [[University of Melbourne]]. This makes it useful for targeting multiple platforms, or linking with code written in multiple back-ends. TheMercury has a strong foreign language interface, including the ability to includewrite nativein codeC acrossfor theseboth platformsC isbackends, helpfulin IL, thoughC# itor limitsManaged C++ for the portabilityIL backend, and in Java for the Java backend. However, this means that foreign language code may need to otherbe Mercurywritten back-endsseveral times for the different backends, otherwise portability between backends will be lost.
 
Mercury is available for most [[Unix]] platforms, for Mac OS X, and for Microsoft Windows using the [[Cygwin]] or [[MinGW]] toolsets (though it can also be compiled with Microsoft Visual C).
 
Notable programs written in Mercury include the Mercury compiler itself and the [[Prince_XML|Prince]] XML formatter.