Content deleted Content added
Update release. |
mNo edit summary |
||
Line 16:
| scope =
| programming language = Mercury
| platform = [[IA-32]], [[x86-64]], [[ARM architecture family|
| operating system = [[Cross-platform]]: [[Unix]], [[Linux]], [[macOS]], [[Solaris (operating system)|Solaris]], [[FreeBSD]], [[OpenBSD]], [[Microsoft Windows|Windows]], [[Android (operating system)|Android]]
| license = [[GNU General Public License|GPL]] compiler,<br />[[GNU Lesser General Public License|LGPL]] standard library
Line 33:
The official implementation, the Melbourne Mercury Compiler, is available for most [[Unix]] and [[Unix-like]] platforms, including [[Linux]], [[macOS]], and for [[Microsoft Windows|Windows]].
==
Mercury is based on the logic programming language [[Prolog]]. It has the same syntax and the same basic concepts such as the [[SLD resolution|selective linear definite clause resolution]] (SLD) algorithm. It can be viewed as a pure subset of Prolog with strong types and modes. As such, it is often compared to its predecessor in features and run-time efficiency.
Line 42 ⟶ 41:
|last= Somogyi
|first= Zoltan
|last2= Henderson |first2= Fergus |last3= Conway |first3= Thomas
|title= The execution algorithm of Mercury: an efficient purely declarative logic programming language
|journal= Journal of Logic Programming
Line 65 ⟶ 64:
===Production level===
* Low-level [[C (programming language)|C]] for [[GNU Compiler Collection]] (GCC), the original Mercury back-end
* High-level C
* [[Java (programming language)|Java]]
* [[C Sharp (programming language)|C#]]
===Past===
* [[Assembly language]] via the GCC back-end
* Aditi, a deductive database system also developed at the [[University of Melbourne]]. Mercury-0.12.2 is the last version to support Aditi.{{citation needed|date=January 2014}}
* [[Common Intermediate Language]] (CIL) for the [[.NET Framework]]
* [[Erlang (programming language)|Erlang]]
Mercury also features a foreign language interface, allowing code in other languages (depending on the chosen back-end) to be linked with Mercury code. The following foreign languages are possible:
|