Mercury is a functional/logical programming language based on Prolog, but more useful for real-world programming.
Mercury is compiled rather than interpreted as is traditional for logic languages. It has a sophisticated, strict type and mode system. Its authors claim these features and the abstract nature of logic programming helps rapid writing of reliable programs. Mercury's module system enables division into self-contained units, a problem for past logic programming languages.
Hello World in Mercury:
:- 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 Becket at the University of Melbourne):
Mercury is developed at the University Of Melbourne Computer Science department under the supervision of Dr. Zoltan Somogyi.