We discuss the virtues of PROLOG in comparison to LISP, we come to the conclusion that: "If you can't fight them, JOIN them". We propose, as a solution, the APPLOG language which is a mixture of LISP and PROLOG. APPLOG is embedded within the PROLOG language and thus the facilities of PROLOG can be used through a simple goal function.
APPLOG is an applicative language where functions are applied to arguments. APPLOG variables are compatible with PROLOG variables and serve as a mean for data transfer between APPLOG and PROLOG. APPLOG supports lambda and nlambda functions definitions and one-to-one, one-to-many and mixed binding mechanism like INTERLISP.
The main advantage of APPLOG is the simple integration of LISP and PROLOG into ONE powerful language which hopefully incorporates the best features of both languages. We also extended APPLOG to a simple relational database query language which is similar to Query-by-example and includes: Aggregates and Grouping.
We provide the full listing of APPLOG interpreter including: pretty-print, load, trace, toploop, history, autoload, Interface Interface to relational database.
APPLOG has the following advantages over traditional LISP languages: (1) Pattern directed invocation. (2) Call by reference. (3) Interface to PROLOG as a database query language. (4) Operators (infix, prefix, and postfix). (5) Back-tracking. (6) Generators.
Title
The APPLOG LANGUAGE: PROLOG vs. LISP -- if you can't fight them join them
Published
1984-05-01
Full Collection Name
Electrical Engineering & Computer Sciences Technical Reports
Other Identifiers
CSD-84-179
Type
Text
Extent
26 p
Archive
The Engineering Library
Usage Statement
Researchers may make free and open use of the UC Berkeley Library’s digitized public domain materials. However, some materials in our online collections may be protected by U.S. copyright law (Title 17, U.S.C.). Use or reproduction of materials protected by copyright beyond that allowed by fair use (Title 17, U.S.C. § 107) requires permission from the copyright owners. The use or reproduction of some materials may also be restricted by terms of University of California gift or purchase agreements, privacy and publicity rights, or trademark law. Responsibility for determining rights status and permissibility of any use or reproduction rests exclusively with the researcher. To learn more or make inquiries, please see our permissions policies (https://www.lib.berkeley.edu/about/permissions-policies).