Prolog: Difference between revisions
No edit summary |
|||
Line 5: | Line 5: | ||
Derivatives of Prolog include primarily constraint logic programming languages such as Prolog IV and ECLiPSE but also hybrids such as the strongly typed Mercury and [[Visual Prolog]] and even more alien systems such as Erlang. | Derivatives of Prolog include primarily constraint logic programming languages such as Prolog IV and ECLiPSE but also hybrids such as the strongly typed Mercury and [[Visual Prolog]] and even more alien systems such as Erlang. | ||
== | ==History== | ||
Invented in Marseilles, France in 1972 by Alain Colmerauer and Philippe Rousse, the system is a descendant of a natural language machine translation system called '''Q-systems''' that Colmerauer started developing in 1968, but prior and parallel to that he alongside Rousse and others connected to the birth of Prolog such as Jean Trudel and Robert Pasero had participated in the "Traduction Automatique de l’Université de Montréal" project in Canada. Initially implemented on an [[IBM]] System/360 using Wirth's [[ALGOL W]] and PL/360. | |||
==OS/2 implementations== | |||
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2"> | <div style="column-count:2;-moz-column-count:2;-webkit-column-count:2"> | ||
*[[Arity Prolog]] - Commercial - Discontinued | *[[Arity Prolog]] - Commercial - Discontinued | ||
Line 20: | Line 23: | ||
*[[Visual Prolog]] - Commercial - Discontinued | *[[Visual Prolog]] - Commercial - Discontinued | ||
</div> | </div> | ||
===Prolog libraries=== | |||
* [http://prolog-commons.org/PrologCommons.html/PrologCommons.html The Prolog Commons] - Not all library functions are germane to OS/2 - Open source - Current | * [http://prolog-commons.org/PrologCommons.html/PrologCommons.html The Prolog Commons] - Not all library functions are germane to OS/2 - Open source - Current | ||
===Foreign libraries with Prolog bindings=== | |||
* [[Cairo]] - 2D graphics library - Open source - Current | * [[Cairo]] - 2D graphics library - Open source - Current | ||
=== | ===Text & programmers editors with Prolog support=== | ||
* [[jEdit]] - Java based editor - Prolog syntax highlighting built in - Current. | * [[jEdit]] - Java based editor - Prolog syntax highlighting built in - Current. | ||
Line 60: | Line 63: | ||
</div> | </div> | ||
== | ==Implementations that run under WinOS/2== | ||
* [[ALS Prolog]] - former commercial/now open source - Discontinued | * [[ALS Prolog]] - former commercial/now open source - Discontinued | ||
*Amzi! Logic Explorer - Freeware - Discontinued | *Amzi! Logic Explorer - Freeware - Discontinued | ||
Line 70: | Line 73: | ||
*[[Visual Prolog]] - Commercial - Discontinued | *[[Visual Prolog]] - Commercial - Discontinued | ||
== | ==Implementations that run under Java== | ||
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2"> | <div style="column-count:2;-moz-column-count:2;-webkit-column-count:2"> | ||
* [https://web.archive.org/web/20011006071211/http://www.students.cs.ruu.nl/people/smotterl/prolog/index.htm CKI-Prolog] - Old but works on Java 1.x on vintage hardware - Open Source - Discontinued | * [https://web.archive.org/web/20011006071211/http://www.students.cs.ruu.nl/people/smotterl/prolog/index.htm CKI-Prolog] - Old but works on Java 1.x on vintage hardware - Open Source - Discontinued | ||
Line 89: | Line 92: | ||
* [http://waitaki.otago.ac.nz/~michael/wp/ W-Prolog] - Open Source - Discontinued | * [http://waitaki.otago.ac.nz/~michael/wp/ W-Prolog] - Open Source - Discontinued | ||
</div> | </div> | ||
===Utilities=== | |||
* [https://github.com/espakm/prolog4j Prolog4J] -Allows java programs to use native Prolog engines - Open Source - Discontinued | * [https://github.com/espakm/prolog4j Prolog4J] -Allows java programs to use native Prolog engines - Open Source - Discontinued | ||
== | ==Implementations in JavaScript== | ||
* [http://ioctl.org/logic/prolog1 Prolog in JavaScript] - Note sub-set, split into a few pages - Open Source - Current. | * [http://ioctl.org/logic/prolog1 Prolog in JavaScript] - Note sub-set, split into a few pages - Open Source - Current. | ||
* [http://yieldprolog.sourceforge.net/ Yield Prolog] - Sub-set - Open Source - Discontinued. | * [http://yieldprolog.sourceforge.net/ Yield Prolog] - Sub-set - Open Source - Discontinued. | ||
==Publications== | ==Publications== | ||
* Patrice Boizumault: Prolog: l'implantation - 1988 - ISBN 2225814791 | * Patrice Boizumault: ''Prolog: l'implantation'' - 1988 - ISBN 2225814791 | ||
*Patrice Boizumault: [http://press.princeton.edu/titles/5264.html The Implementation of Prolog]- | *Patrice Boizumault: [http://press.princeton.edu/titles/5264.html The Implementation of Prolog]- Translated by Ara M. Djamboulian and Jamal Fattouh - 1993/2014 - ISBN 9780691609393 | ||
* Fernando C. N. Pereira and Stuart M. Shieber: [http://www.mtome.com/Publications/PNLA/prolog-digital.pdf Prolog and Natural-Language Analysis] | * Fernando C. N. Pereira and Stuart M. Shieber: [http://www.mtome.com/Publications/PNLA/prolog-digital.pdf Prolog and Natural-Language Analysis] | ||
;Introductionary material | ;Introductionary material | ||
* ''Peter Skye'': [http://www.scoug.com/reports/ws98_bourassa.html Logic Programming In Native OS/2] | * ''Peter Skye'': [http://www.scoug.com/reports/ws98_bourassa.html Logic Programming In Native OS/2] | ||
===Tutorials and other learning material=== | |||
* http://www.learnprolognow.org/ Learn Prolog Now!] | * http://www.learnprolognow.org/ Learn Prolog Now!] | ||
===Papers=== | |||
* Krzysztof R. Apt, Maurizio Gabbrielli and Dino Pedreschi [http://oai.cwi.nl/oai/asset/1397/1397A.pdf A closer look at declarative interpretations*] | * Krzysztof R. Apt, Maurizio Gabbrielli and Dino Pedreschi [http://oai.cwi.nl/oai/asset/1397/1397A.pdf A closer look at declarative interpretations*] | ||
* [https://www.metalevel.at/tist/ Thinking in states] - Parsers & compilers | * [https://www.metalevel.at/tist/ Thinking in states] - Parsers & compilers | ||
* David H. D. Warren: [https://www.sri.com/sites/default/files/uploads/publications/pdf/656.pdf Applied Logic - Its use and implementation as a programming tool] | * David H. D. Warren: [https://www.sri.com/sites/default/files/uploads/publications/pdf/656.pdf Applied Logic - Its use and implementation as a programming tool] | ||
Line 117: | Line 120: | ||
* [https://dtai.cs.kuleuven.be/projects/ALP/newsletter/may05/nav/complang/nettalk.html Documenting large Prolog programs] | * [https://dtai.cs.kuleuven.be/projects/ALP/newsletter/may05/nav/complang/nettalk.html Documenting large Prolog programs] | ||
* USENET: [news:comp.lang.prolog comp.lang.prolog] | |||
* [http://fsl.cs.illinois.edu/images/9/9c/PrologStandard.pdf A summary of the 1993 ISO Prolog draft] | * [http://fsl.cs.illinois.edu/images/9/9c/PrologStandard.pdf A summary of the 1993 ISO Prolog draft] | ||
[[Category:Programming Languages]] [[Category:Prolog]] | [[Category:Programming Languages]] [[Category:Prolog]] |
Revision as of 15:30, 25 February 2017

Friedrich Ludwig Gottlob Frege invented predicate logic on which Prolog is based
Declarative logic programming language developed in France in the latter half of the 1960's and early 70, name is a shortening of "PROgrammation en LOGique" or "Programming in Logic". Unique syntax gives the impression that it is difficult to learn but in actuality it is not more of an effort to learn it any of the classic languages, but programmers used to procedural languages sometimes difficulty getting their heads around the different programming paradigms Prolog has to offer than rank beginner do.
Derivatives of Prolog include primarily constraint logic programming languages such as Prolog IV and ECLiPSE but also hybrids such as the strongly typed Mercury and Visual Prolog and even more alien systems such as Erlang.
History
Invented in Marseilles, France in 1972 by Alain Colmerauer and Philippe Rousse, the system is a descendant of a natural language machine translation system called Q-systems that Colmerauer started developing in 1968, but prior and parallel to that he alongside Rousse and others connected to the birth of Prolog such as Jean Trudel and Robert Pasero had participated in the "Traduction Automatique de l’Université de Montréal" project in Canada. Initially implemented on an IBM System/360 using Wirth's ALGOL W and PL/360.
OS/2 implementations
- Arity Prolog - Commercial - Discontinued
- Az-Prolog - Commercial - Discontinued
- IBM PROLOG for OS/2 - 16 bit only - Commercial - Discontinued
- IBM SAA AD/Cycle Prolog/2 - Commercial - Discontinued
- PDC Prolog- Commercial - Discontinued
- PMPro Prolog - Commercial - Discontinued
- Prolog II+ - Commercial - Discontinued
- Quintus Prolog - Commercial - Discontinued
- SICStus Prolog - Commercial - Discontinued
- SWI-Prolog - Open Source - Discontinued
- VMV Prolog (Automata Design Associates) - Commercial - Discontinued
- Visual Prolog - Commercial - Discontinued
Prolog libraries
- The Prolog Commons - Not all library functions are germane to OS/2 - Open source - Current
Foreign libraries with Prolog bindings
- Cairo - 2D graphics library - Open source - Current
Text & programmers editors with Prolog support
- jEdit - Java based editor - Prolog syntax highlighting built in - Current.
DOS Implementations

- ALS Prolog - Was Commercial/now open source - Discontinued
- Amzi! Prolog+Logic Server - Commercial - Discontinued
- Aquarius Prolog - Open/Closed source - Discontinued
- Arity Prolog - Commercial - Discontinued
- Az-Prolog - Commercial - Discontinued
- Beta-Prolog - Open Source - Discontinued
- BinProlog - Open source commercial software - Discontinued
- Boizumault Prolog - Open Source - Discontinued
- ESL Prolog-2 - Commercial - Discontinued
- Cogent Prolog Compiler - Commercial
- cu-Prolog - Open Source - Discontinued
- LPA Prolog - Commercial - Current
- LPA micro-PROLOG - Commercial - Discontinued
- Logicware MPROLOG - Commercial - Discontinued
- MR Prolog - Commercial - Discontinued
- PDC Prolog - Commercial - Discontinued
- Prolog II - Commercial - Discontinued
- Prolog III - Commercial - Discontinued
- Chalcedony Prolog V/Prolog V-Plus - Commercial - Discontinued
- Prolog-86+- Commercial - Discontinued
- PD Prolog (A.D.A. PD Prolog) - Freeware - Discontinued
- Quintus Prolog - Commercial - Discontinued
- SICStus Prolog - Commercial - Discontinued
- Stony Brook Prolog - Aka SB-Prolog - Open source - Discontinued
- Turbo Prolog - Commercial - Discontinued
- VML Prolog - Commercial - Discontinued
Implementations that run under WinOS/2
- ALS Prolog - former commercial/now open source - Discontinued
- Amzi! Logic Explorer - Freeware - Discontinued
- Amzi! Prolog+Logic Server - Commercial - Discontinued
- Arity Prolog - Commercial - Discontinued
- IF/Prolog - Commercial - Discontinued - Contraint ver.
- LPA Prolog - Commercial - Discontinued - Versions up to 4.1 run with Win32s
- Prolog IV - Commercial - Discontinued
- Visual Prolog - Commercial - Discontinued
Implementations that run under Java
- CKI-Prolog - Old but works on Java 1.x on vintage hardware - Open Source - Discontinued
- DGKS Prolog - Discontinued
- GNU Prolog for Java - Open Source - Current
- JavaLog - Old but works on Java 1.x on vintage hardware - Open Source - Discontinued
- Jekejeke Prolog - Commercial - Current.
- Jinni Prolog - Open Source - Discontinued
- JIProlog - Commercial - Current.
- jLog - Open Source - Current.
- jTrolog - Open Source - Current.
- Kernel Prolog - Subset - Open Source - Discontinued
- Mandarax - Prolog variant, not fully compatible - Open Source - Current
- Prolog Café - Interpreter and translator - Open Source - Discontinued
- Prova - Prolog variant, not fully compatible - Open Source - Current
- Styla - Requires Scala - Open Source - Current
- tuProlog - Open Source - Current
- W-Prolog - Open Source - Discontinued
Utilities
- Prolog4J -Allows java programs to use native Prolog engines - Open Source - Discontinued
Implementations in JavaScript
- Prolog in JavaScript - Note sub-set, split into a few pages - Open Source - Current.
- Yield Prolog - Sub-set - Open Source - Discontinued.
Publications
- Patrice Boizumault: Prolog: l'implantation - 1988 - ISBN 2225814791
- Patrice Boizumault: The Implementation of Prolog- Translated by Ara M. Djamboulian and Jamal Fattouh - 1993/2014 - ISBN 9780691609393
- Fernando C. N. Pereira and Stuart M. Shieber: Prolog and Natural-Language Analysis
- Introductionary material
- Peter Skye: Logic Programming In Native OS/2
Tutorials and other learning material
- http://www.learnprolognow.org/ Learn Prolog Now!]
Papers
- Krzysztof R. Apt, Maurizio Gabbrielli and Dino Pedreschi A closer look at declarative interpretations*
- Thinking in states - Parsers & compilers
- David H. D. Warren: Applied Logic - Its use and implementation as a programming tool
Links
- Alain Colmerauer's homepage - Has a cache of historical papers releated to Prolog
- Boizumault Prolog Archive on Github - Contains the example Prolog implementations from his book (above)
- The first 10 Prolog Programming Contests
- Documenting large Prolog programs
- USENET: comp.lang.prolog