The birth of Prolog | History of programming languages---II

6 min read Original article ↗

Abstract

The programming language, Prolog, was born of a project aimed not at producing a programm3ing language but at processing natural languages; in this case, French. The project gave rise to a preliminary version of Prolog at the end of 1971 and a more definitive version at the end of 1972. This article gives the history of this project and describes in detail the preliminary and then the final versions of Prolog. The authors also felt it appropriate to describe the Q-systems because it was a language that played a prominent part in Prolog's genesis.

Formats available

You can view the full content in the following formats:

References

[1]

{Battani, 1973} Battani, Gérard and Henry Meloni, Interpréter du langage PROLOG, DEA. report, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, 1973.

[2]

{Battani, 1975} Battani, Gérard, Mise en oeuvre des contraintes phonologiques, syntaxiques et sémantiques dans un système de compréhension automatique de la parole, 3ème cycle thesis, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, June 1975.

[3]

{Bergman, 1973a} Bergman, Marc and Henry Kanoui, Application of mechanical theorem proving to symbolic calculus. Third International Colloquium on Advanced Computing Methods in Theoretical Physics, Marseilles, France, June 1973.

[4]

{Bergman, 1973b} Résolution par la démonstration automatique de quelques problèmes en intégration symbolique sur calculateur, 3ème cyle thesis, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, Oct. 1973.

[5]

{Bergman, 1975} Bergman, Marc and Henry Kanoui, SYCOPHANTE, système de calcul formel sur ordinateur, final report for a DRET contract (Direction des Recherches et Etudes Techniques), Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, 1975.

[6]

{Boyer, 1972} Boyer, Roger S. and Jay S. Moore, The sharing of structure in theorem proving programs, Machine Intelligence 7, edited by B. Melzer and D. Michie, New York: Edinburgh University Press, 1972, pp. 101--116.

[7]

{Chastellier, 1969} Chastellier (de), Guy and Alain Colmerauer, W-Grammar. Proceedings of the ACM Congress, San Francisco, Aug., New York: ACM, 1969, pp. 511--518.

[8]

{Chomsky, 1965} Chomsky, Noam, Aspects of the Theory of Syntax, MIT Press, Cambridge, 1965.

[9]

{Cohen, 1988} Cohen, Jacques, A view of the origins and development of Prolog, Commun. ACM 31, 1, Jan. 1988, pp. 26--36.

[10]

{Colmerauer, 1970a} Colmerauer, Alain, Total precedence relations, J. ACM 17, 1, Jan. 1970, pp. 14--30.

[11]

{Colmerauer, 1970b} Colmerauer, Alain, Les systèmes-q ou un formalisme pour analyser et synthétiser des phrases sur ordinateur, Internal publication 43, Département d'informatique de l'Université de Montréal, Sept. 1970.

[12]

{Colmerauer, 1971} Colmerauer, Alain, Femand Didier, Robert Pasero, Philippe Roussel, Jean Trudel, Répondre à, Internal publication, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, May 1971. This publication is a computer print-out with handwritten remarks.

[13]

{Colmerauer, 1972} Colmerauer, Alain, Henry Kanoui, Robert Pasero and Philippe Roussel, Un système de communication en français, rapport préliminaire de fin de contrat IRIA, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, Oct. 1972.

[14]

{Colmerauer, 1975} Colmerauer, Alain, Les grammaires de métamorphose GIA, Internal publication, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, Nov. 1975. English version, Metamorphosis grammars, Natural Language Communication with Computers, Lectures Notes in Computer Science 63, edited by L. Bolc, Berlin, Heidelberg, New York: Springer Verlag, 1978, pp. 133--189.

[15]

{Darlington, 1969} Darlington, J. L. Theorem-proving and information retrieval. Machine Intelligence 4, Edinburgh University Press, 1969, pp. 173--707.

[16]

{Elcok, 1988} Elcok, E., W. Absys: the first logic programming language---A restrospective and a commentary. The Journal of Logic Programming.

[17]

{Floyd, 1963} Floyd, Robert W., Syntactic analysis and operator precedence. J.ACM 10, 1963, pp. 316--333.

[18]

{Floyd, 1967} Floyd, Robert W., Nondeterministic algorithms. J.ACM 14, 4, Oct. 1967, pp. 636--644.

[19]

{Green, 1969} Green, Cordell C., Application of theorem-proving to problem-solving, Proceeding of First International Joint Conference on Artificial Intelligence, Washington D.C., 1969, pp. 219--239.

[20]

{Hewitt, 1969} Hewitt, Carl, PLANNER: A language for proving theorems in robots, Proceedings of First International Joint Conference on Artificial Intelligence, Washington D.C., 1969, pp. 295--301.

[21]

{Joubert, 1974} Joubert, Michel, Un système de résolution de problémes à tendance naturelle, 3ème cycle thesis, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, Feb. 1974.

[22]

{Kanoui, 1973} Kanoui, Henry, Application de la démonstration automatique aux manipulations algébriques et à I'intégration formelle sur ordinateur, 3ème cycle thesis, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, Oct. 1973.

[23]

{Kanoui, 1976} Kanoui, Henry, Some aspects of symbolic integration via predicate logic programming. ACM SIGSAM Bulletin, 1976.

[24]

{Kowalski, 1971} Kowalski, Robert A. and D. Kuehner, Linear resolution with selection function, memo 78, University of Edinburgh, School of Artificial Intelligence, 1971. Also in Artificial Intelligence 2, 3, pp. 227--260.

[25]

{Kowalski, 1973} Kowalski, Robert A., Predicate Logic as Programming Language, memo 70, University of Edinburgh, School of Artificial Intelligence, Nov. 1973. Also in Proceedings of IFIP 1974, Amsterdam: North Holland, Amsterdam, 1974, pp. 569--574.

[26]

{Kowalski, 1974} Kowalski, Robert A. and Maarten van Emden, The semantic of predicate logic as programming language, memo 78, University of Edinburgh, School of Artificial Intelligence, 1974, Also in JACM 22, 1976, pp. 733--742.

[27]

{Kowalski, 1988} Kowalski, Robert A., The early history of logic programming, CACM vol. 31, no. 1, 1988, pp 38--43.

[28]

{Loveland, 1984} Loveland, D. W. Automated theorem proving: A quarter-century review. Am. Math. Soc. 29, 1984, pp. 1--42.

[29]

{Luckam, 1971} Luckam, D. and N. J. Nilson, Extracting information from resolution proof trees, Artificial Intelligence 12, 1, 1971, pp. 27--54.

[30]

{Meloni, 1975} Meloni, Henry, Mise en oeuvre des contraintes phonologiques, syntaxiques et sémantiques dans un système de compréhension automatique de la parole, these de 3ème cycle, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, June 1975.

[31]

{Moore, 1974} Moore, Jay, Computational logic: Structure sharing and proof of program properties, part I and II, memo 67, University of Edinburgh, School of Artificial Intelligence, 1974.

[32]

{Pasero, 1973} Pasero, Robert, Représentation dufrançais en logique du premier ordre en vue de dialoguer avec un ordinateur, thése de 3ème cycle, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, May 1973.

[33]

{Pereira, 1980} Pereira, Fernando C. and David H. D. Warren, Definite clause grammars for language analysis, Artificial Intelligence. 13, 1980, pp. 231--278.

[34]

{Robinson, 1965} Robinson, J. A., A machine-oriented logic based on the resolution principle, J. ACM 12, 1, Jan. 1965, pp. 23--41.

[35]

{Roussel, 1972} Roussel, Philippe, Définition et traitement de l'égalité formelle en démonstration automatique, thèse de 3ième cycle, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, May 1972.

[36]

{Roussel, 1975} Roussel, Philippe, Prolog, manuel de référence et d'utilisation, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, Sept. 1975.

[37]

{Taum, 1971} TAUM 71, Annual report, Projet de Traduction Automatique de l'Université de Montréal, Jan. 1971.

[38]

{Warren, 1974} Warren, David H. D., Warplan, A System for Generating Plans, research report, University of Edinburgh, Department of Computational Logic, memo 76, June 1974.

[39]

{Warren 1977} Warren, David H. D., Luis M. Pereira and Fernando Pereira, Prolog the language and its implementation, Proceedings of the ACM, Symposium on Artificial Intelligence and Programming Languages, Rochester, N.Y., Aug. 1977.

[40]

{Wijngaarden, 1968} van Wijngaarden, A., B. J. Mailloux, J. E. L. Peck, and G. H. A. Koster, Final Draft Report on the Algorithmic Language Algol 68, Mathematish Centrum, Amsterdam, Dec. 1968.