Content deleted Content added
No edit summary |
No edit summary |
||
Line 3:
Mercury has several features intended for better [[software engineering]]. It is [[compiler|compiled]] rather than interpreted, as is traditional for logic programming languages. It features a sophisticated, strict [[Data type|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.)
Mercury is a more "pure", and therefore more [[Declarative programming|declarative]], language than [[Prolog]], since it does not have "extra-logical" Prolog features like the "cut" (a Prolog construct which prevents [[backtracking]]) and [[imperative programming|imperative]] [[I/O]]. This makes the coding of sequential algorithms somewhat more cumbersome, but it makes automated program [[Optimization (computer science)|optimization]] easier. This means that it can produce significantly faster code than Prolog.
Hello World in Mercury:
|