|
Mercury is a functional logic programming language based on Prolog, but more geared towards practical applications. The latest official release was version 0.12, on the 9th September, 2005. The Haskell programming language logo Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions. ...
Logic programming is a programming paradigm that is claimed to be declarative (i. ...
A programming language or computer language is a standardized communication technique for expressing instructions to a computer. ...
Prolog is a logic programming language. ...
Mercury has several features intended for better software engineering than is possible with Prolog. It is compiled rather than interpreted, as is traditional for logic programming languages. It features a sophisticated, strict type and mode system. Its authors claim these features combined with logic programming's abstract nature speeds writing of reliable programs. Mercury's module system enables division into self-contained units, a problem for past logic programming languages. (But note that several existing Prolog implementations also include module systems.) Software engineering is the profession that creates and maintains software applications by applying technologies and practices from computer science, project management, engineering, application domains, and other fields. ...
A diagram of the operation of a typical multi-language compiler. ...
On computer science, a datatype (often simply type) is a name or label for a set of values and some operations which can be performed on that set of values. ...
Mercury is a more "pure", and therefore more declarative, language than Prolog, since it does not have "extra-logical" Prolog features like the "cut" (a Prolog construct which prevents backtracking) and imperative I/O. This makes the coding of sequential algorithms somewhat more cumbersome, but it makes automated program optimization easier. This means that it can produce significantly faster code than Prolog. Declarative programming is an approach to computer programming that involves the creation of a set of conditions that describe a solution space, but leaves the interpretation of the specific steps needed to arrive at that solution up to an unspecified interpreter. ...
Backtracking is a strategy for finding solutions to constraint satisfaction problems. ...
In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...
This article is about the computer interface. ...
In computing, optimization is the process of modifying a system to improve its efficiency. ...
Hello World in Mercury: :- module hello. :- interface. :- import_module io. :- pred main(io.state, io.state). :- mode main(di, uo) is det. :- implementation. main(!IO) :- io.write_string("Hello, World!n", !IO). (adapted from Ralph Becket's Mercury tutorial). Mercury is developed at the University Of Melbourne Computer Science department under the supervision of Zoltan Somogyi. The University of Melbourne The Old Quad Building, formerly Old Law The University of Melbourne, located in Melbourne, in Victoria, is the second oldest university in Australia, behind the University of Sydney, and is arguably the most prestigious [1]. It is a member of Australias Group of Eight lobby...
Dr. Zoltan Somogyi is a senior lecturer at the University of Melbournes department of Computer Science and Software Engineering, who currently leads the team responsible for the Mercury programming language. ...
Mercury is still highly experimental, and virtually unused outside the team of its creators. Mercury has several back-ends, including low-level C (the original Mercury back-end), high-level C, Microsoft's IL for .NET, Sun's JVM, and assembler via the gcc back-end (the last three are only considered alpha or beta quality). This makes it useful for targeting multiple platforms, or linking with code written in multiple back-ends. The ability to include native code across these platforms is helpful, though it limits the portability to other Mercury back-ends. GCC may stand for: Gulf Cooperation Council GNU Compiler Collection (formerly, the GNU C Compiler) Garde côtière canadienne (Canadian Coast Guard) Germanna Community College Glendale Community College global carbon cycle Global Climate Coalition Grand Council of the Crees (gcc. ...
Mercury is available for most Unix platforms, for Mac OS X, and for Microsoft Windows using the Cygwin toolset. It has been suggested that this article or section be merged with Unix-like. ...
Cygwin is a collection of free software tools originally developed by Cygnus Solutions to allow various versions of Microsoft Windows to act somewhat like a UNIX system. ...
External links
- Official Mercury Homepage
|