Skip to content
The Mercury logic programming system.
Branch: master
Clone or download
zsomogyi Improve an error message.
    As above.

    Expect the updated error message.
Latest commit 62e4966 Apr 24, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchmarks Update code in benchmarks. Apr 26, 2016
bindist Move licensing information to separate file. Aug 16, 2017
boehm_gc @ 5287fba Upgrade Boehm GC to v7.6.10 Jan 7, 2019
browser Import the parents of *all* imported modules. Mar 29, 2019
bytecode Compile everything with --halt-at-warn-if-possible. Aug 2, 2018
compiler Improve an error message. Apr 24, 2019
deep_profiler Warn about non-contiguous clauses in the Mercury system by default. Nov 14, 2018
doc Add -warn-infinite-recursion-modulo-svar as an option. Apr 23, 2019
extras extras/posix: Extend exec module. Mar 29, 2019
java/runtime Use consistent integer types for some RTTI fields. Nov 19, 2018
m4 Support editline as an alternative to GNU readline. Jun 19, 2018
mdbcomp Warn about non-contiguous clauses in the Mercury system by default. Nov 14, 2018
mfilterjavac Warn about non-contiguous clauses in the Mercury system by default. Nov 14, 2018
profiler Update copyright notices for 2019. Jan 1, 2019
robdd Shut up some warnings in the robdd directory. Sep 1, 2015
runtime Fix comment ending a macro Mar 13, 2019
samples Print an arg type list diff for arg lists with wrong arity. Jan 2, 2019
scripts Simplify handling of -fPIC for SPARCs ... Mar 16, 2019
slice Warn about non-contiguous clauses in the Mercury system by default. Nov 14, 2018
ssdb Warn about non-contiguous clauses in the Mercury system by default. Nov 14, 2018
tests Improve an error message. Apr 24, 2019
tools Add import_srcdist script. Feb 4, 2019
trace Delete a stray reference to the IL backend. Mar 22, 2019
vim Improve vim syntax highlighting. Sep 1, 2018 Mention editline in INSTALL file. Jun 23, 2018 Remove "Australia" from location of home site in README Nov 13, 2018
.dockerignore Make bootstrap optional Jan 2, 2019
.gitmodules Upgrade Boehm GC to 7.6.0 Sep 22, 2016
.nocopyright Support OpenBSD. Mar 1, 2018
COPYING Added a copy of the GPL. Mar 20, 1995
HISTORY Fix minor documentation problems. Oct 9, 2018
INSTALL.git Improve the robustness of the INSTALL scripts. Apr 21, 2017
LICENSE Update copyright notices for 2019. Jan 1, 2019
Makefile.DLLs Introduce two new directories, trace and browser, containing libraries Sep 29, 1998 Pass compiler flags to build bdwgc for musl. Sep 21, 2017
Mmake.workspace Fix some minor make annoyances. Aug 25, 2015
Mmakefile Optionally build srcdist .tar.xz files. Jan 24, 2019
README.CSharp Bump the minimum requirements for the C# backend. Jan 4, 2018
README.Docker Format README.Docker Jan 6, 2019
README.HPUX Minor rewording of README.{AIX,HPUX}. Jun 16, 2014
README.Java Bump the minimum version of Java required. Oct 8, 2017
README.Linux-Alpha Move the patch for making the GNU assembler into the configuration sc… Dec 22, 1998
README.Linux-PPC Fix spelling and double up words. Jul 14, 2010
README.MS-VisualC Update README.MS-VisualC. Jan 7, 2019
README.MS-Windows Add instructions for MSYS2 environment with MinGW-w64. Aug 31, 2015
README.OpenBSD Support OpenBSD. Mar 1, 2018
README.bootstrap Update instructions for building from git. Mar 31, 2016
README.clang Mention that Mercury works with clang on Windows. Oct 3, 2011 Add Docker readme Jan 2, 2019
README.sanitizers Support building with AddressSanitizer and UndefinedBehaviorSanitizer. Oct 13, 2016
README.ssdebug Add option --ssdb-trace which allows one to control which modules are… Jul 19, 2012
RELEASE_NOTES Fix some minor errors in the release notes. Jan 4, 2015
RESERVED_MACRO_NAMES Remove support for the MPS garbage collector. Aug 5, 2014
VERSION Revert my earlier change to VERSION Jan 3, 2014
config.guess Update config.guess and config.sub. Aug 31, 2015
config.sub Update config.guess and config.sub. Aug 31, 2015
install-sh Use an autoconf-generated configure script rather than manual configu… May 12, 1995
mercury.snk Sign the all the assemblies in the csharp grade. Nov 22, 2012 Use nested submodules to include boehm_gc/libatomic_ops Oct 19, 2015


Mercury is a logic/functional programming language which combines the clarity and the expressiveness of declarative programming with advanced static analysis and error detection features.

More information is available on the website's about pages, in other README files in the source code repository, and in the documentation.

README files

The Mercury compiler has a number of different backends and works on different operating systems. Specific information is contained in individual README files:

Other information

See the current release notes for the latest stable release. The history file is relevant if you want to find out more about the past development of Mercury. News lists any current or future enhancements (but this isn't always up-to-date). The limitations file lists a number of ways in which the Mercury implementation does not yet meet its goals.

Information for developers

If you are considering contributing to the Mercury project the website contains some documents that may be helpful. These include a document about contributions in general and specific information about contributing such as coding styles.


See our contact page.

You can’t perform that action at this time.