Prolog | |
---|---|
Paradigmen: | logisch, deklarativ, oft auch constraintbasiert |
Erscheinungsjahr: | 1972 |
Designer: | Alain Colmerauer |
Entwickler: | Philippe Roussell |
Typisierung: | schwach, dynamisch |
Wichtige Implementierungen: | SICStus, SWI-Prolog, GNU Prolog, XSB, YAP-Prolog |
Dialekte: | ISO-Prolog, Edinburgh Prolog, BinProlog, Visual/Turbo Prolog; historisch: micro-Prolog |
Standardisierungen: | ISO/IEC 13211-1:1995 |
Beeinflusst von: | Planner, Q-Systems, Theorembeweiser, Horn-Klauseln |
Beeinflusste: | Erlang, Mercury, Mozart/Oz, Picat |
Prolog (vom Französischen: programmation en logique,[1] dt.: „Programmieren in Logik“) ist eine Programmiersprache, die Anfang der 1970er-Jahre maßgeblich von dem französischen Informatiker Alain Colmerauer entwickelt wurde und ein deklaratives Programmieren ermöglicht. Sie gilt als die wichtigste logische Programmiersprache.
Erste Implementierungen wichen in ihrer Syntax stark voneinander ab, aber der Edinburgh-Dialekt setzte sich bald als Quasistandard durch. Er war jedoch nicht formal definiert,[2] bis er 1995 zur Grundlage eines ISO-Standards wurde (ISO/IEC 13211-1), der auch ISO-Prolog genannt wird.
Der erste Prolog-Interpreter wurde in Marseille in ALGOL W realisiert. Der erste Ansatz für einen Compiler stammte von David H. D. Warren aus Edinburgh. Dieser hatte als Zielsprache die des Logik-Prozessors Warren’s Abstract Machine und erlaubte deshalb weder dynamische Änderungen noch einen Anschluss rücksetzbarer Prädikate in anderen Programmiersprachen. Der erste voll nutzbare Compiler, der beides erlaubte, wurde von Preben Folkjaer und Christian Pichler in München entwickelt. Er verwandte einen anderen, von der TU Wien stammenden, Zwischencode, der inkrementell kompiliert wurde; wurden Prädikate verändert, wurde das Kompilat gelöscht und beim nächsten Aufruf neu kompiliert.