APPLOG(ID:1198/app012)


Unifies logic and functional programming.


Structures:
Related languages
A-TABLE Lisp => APPLOG   Evolution of

References:
  • Cohen, Shimon "The APPLOG LANGUAGE: PROLOG vs. LISP -- if you can''t fight them join" UC Berkeley Technical Report CSD-84-179 1984 view details Abstract: 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. (1) Call by reference. (3) Interface to PROLOG as a database query language. (4) Operators (infix, prefix, and postfix). (5) Back-tracking. (6) Generators.
  • Cohen, Shimon "The APPLOG Language" pp39-276 view details
          in DeGroot, Doug; Lindstrom, Gary (Eds.): Logic Programming: Functions, Relations, and Equations. Prentice-Hall, 1986 view details