Mercury is compiled rather than interpreted as is traditional for logic languages, it has a sophisticated, strict type and mode system which, when combined with the abstract nature of logic programming, is claimed by its authors to make writing reliable programs simpler and faster than by more conventional means. Mercury's module system also makes it easy to divide logic programs up into self-contained modules, a problem for logic programs in the past.
A sample piece of programming in Mercury looks like
:- module hello_world. :- interface. :- import_module io. :- pred main(io__state, io__state). :- mode main(di, uo) is det. :- implementation. main --> io__write_string("Hello, World!\\n").(by Ralph Brecket at the University of Melbourne):
Mercury is developed at the University Of Melbourne Computer Science department under the supervision of Dr. Zoltan Somogyi.