Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/800228.806939acmconferencesArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article
Free access

Prolog - the language and its implementation compared with Lisp

Published: 01 August 1977 Publication History

Abstract

Prolog is a simple but powerful programming language founded on symbolic logic. The basic computational mechanism is a pattern matching process (“unification”) operating on general record structures (“terms” of logic). We briefly review the language and compare it especially with pure Lisp. The remainder of the paper discusses techniques for implementing Prolog efficiently; in particular we describe how to compile the patterns involved in the matching process. These techniques are as incorporated in our DECsystem-10 Prolog compiler (written in Prolog). The code it generates is comparable in speed with that produced by existing DEC10 Lisp compilers. We argue that pattern matching is a better method for expressing operations on structured data than conventional selectors and constructors - both for the user and for the implementor.

References

[1]
Battani G and Meloni H {1973} Interpreteur du language de programmation Prolog. Groupe d'Intelligence Artificielle, Marseille-Luminy, 1973
[2]
Boyer R S and Moore J S {1972} The sharing of structure in theorem proving programs. Machine Intelligence 7 (ed. Meltzer & Michie), Edinburgh U. Press, 1972.
[3]
Bruynooghe M {1976} An interpreter for predicate logic programs: Part 1. Report CW 10, Applied Maths & Programming Division, Katholieke Univ Leuven, Belgium, Oct 1976.
[4]
Colmerauer A {1975} Les grammaires de metamorphase. Groupe d'Intelligence Artificielle, Marseille, Marseille-Luminy, Nov 1975.
[5]
DEC {1974} DECsystem10 System Ref Manual (3rd edition) Digital Equipment Corporation, Maynard, Mass. Aug 1974.
[6]
van Emden M H {1975} Programming with resolution logic. Report CS-75-30, Dept. of Computer Science, University of Waterloo, Canada. Nov 1975.
[7]
Hoare C A R {1973} Recursive data structures. Stanford AI Memo 223, Calif. Oct 1973.
[8]
Kowalski R A {1974} Logic for problem solving. DCL Memo 75, Dept of AI, Edinburgh. Mar 1974.
[9]
McCarthy J et al. {1962} LISP 1.5 Programmer's Manual. MIT Press, MIT, Cambridge, Mass. Aug 1962.
[10]
Pereira L M {1977} User's Guide to DECsystem-10 Prolog. Forthcoming publication, Divisao de Informatica, Lab. Nac. de Engenharia Civil, Lisbon. 1977.
[11]
Robinson J A {1965} A machine-oriented logic based on the resolution principle. JACM vol 12, pp. 23-44. 1965.
[12]
Roussel P {1972} Definition et traitement de l'egalite formelle en demonstration automatique. These 3me. cycle, UER de Luminy, Marseille. 1972.
[13]
Roussel P {1975} Prolog: Manual de reference et d'utilisation. Groupe d'Intelligence Artificielle, Marseille-Luminy. Sep 1975.
[14]
Warren D H D {1977} Implementing Prolog - compiling predicate logic programs. Forthcoming report, Dept of AI, Edinburgh. 1977.
[15]
Weissman C {1976} Lisp 1.5 Primer. Dickenson Publishing Co. 1967.

Cited By

View all
  • (2023)The Verse Calculus: A Core Calculus for Deterministic Functional Logic ProgrammingProceedings of the ACM on Programming Languages10.1145/36078457:ICFP(417-447)Online publication date: 31-Aug-2023
  • (2018)PostmortemProceedings of the Fourteenth AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment10.5555/3505378.3505385(45-51)Online publication date: 13-Nov-2018
  • (2015)Declarative Data Generation with ProbLogProceedings of the 6th International Symposium on Information and Communication Technology10.1145/2833258.2833267(17-24)Online publication date: 3-Dec-2015
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
August 1977
185 pages
ISBN:9781450378741
DOI:10.1145/800228
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 12, Issue 8
    Proceedings of the 1977 symposium on Artificial intelligence and programming languages
    August 1977
    179 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/872734
    Issue’s Table of Contents
  • cover image ACM SIGART Bulletin
    ACM SIGART Bulletin Just Accepted
    Proceedings of the 1977 symposium on Artificial intelligence and programming languages
    August 1977
    179 pages
    ISSN:0163-5719
    DOI:10.1145/872736
    Issue’s Table of Contents
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 August 1977

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)255
  • Downloads (Last 6 weeks)51
Reflects downloads up to 14 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)The Verse Calculus: A Core Calculus for Deterministic Functional Logic ProgrammingProceedings of the ACM on Programming Languages10.1145/36078457:ICFP(417-447)Online publication date: 31-Aug-2023
  • (2018)PostmortemProceedings of the Fourteenth AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment10.5555/3505378.3505385(45-51)Online publication date: 13-Nov-2018
  • (2015)Declarative Data Generation with ProbLogProceedings of the 6th International Symposium on Information and Communication Technology10.1145/2833258.2833267(17-24)Online publication date: 3-Dec-2015
  • (2012)ReferencesLees' Loss Prevention in the Process Industries10.1016/B978-0-12-397189-0.00123-3(3129-3580)Online publication date: 2012
  • (2011)Logic JavaProceedings of the 20th international conference on Functional and constraint logic programming10.5555/2032603.2032614(122-137)Online publication date: 19-Jul-2011
  • (2011)Logic Java: Combining Object-Oriented and Logic ProgrammingFunctional and Constraint Logic Programming10.1007/978-3-642-22531-4_8(122-137)Online publication date: 2011
  • (2011)Integration of Evolutionary Biology Concepts for Functional Annotation and Automation of Complex Research in Evolution: The Multi-Agent Software System DAGOBAHEvolutionary Biology – Concepts, Biodiversity, Macroevolution and Genome Evolution10.1007/978-3-642-20763-1_5(71-87)Online publication date: 29-Jun-2011
  • (2010)Sal/SvmVirtual Machines and Intermediate Languages10.1145/1941054.1941055(1-10)Online publication date: 17-Oct-2010
  • (2009)Policy Description Language for Dynamic Access Control ModelsProceedings of the 2009 Eighth IEEE International Conference on Dependable, Autonomic and Secure Computing10.1109/DASC.2009.129(37-42)Online publication date: 12-Dec-2009
  • (2007)Foundations of rule-based query answeringProceedings of the Third international summer school conference on Reasoning Web10.5555/2391482.2391484(1-153)Online publication date: 3-Sep-2007
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media