The LOGLISP Programming System.
暂无分享,去创建一个
Abstract : LOGLISP is basically ZetaLisp with a logic programming system, LOGIC, embedded within it. LOGIC differs in a number of ways from the well-known PROLOG implementations of logic programming. The most noteworthy difference is that LOGIC is simply a set of new LISP primitive designed to be used freely within LISP programs. These primitives are invoked in the ordinary LISP manner by function calls from the terminal or from within other LISP programs. They return their results as LISP data objects which can be subject to analysis and manipulation. Each of the logical procedures comprising a LOGIC knowledge base is a LISP data object stored (like the definition of an ordinary LISP procedure) among the information concerning the identifier which is its name. Thus, one calls LOGIC from with LISP. It is also possible to call LISP from with LOGIC. The identifiers used as logical predicate symbols, function symbols, and individual constants within a knowledge base or query can be given a LISP meaning by the ordinary LISP method of definition or assignment. Thus, every logic construct is capable of being interpreted as a LISP construct. During the 'deduction cycle' of LOGIC each logic construct is 'evaluated' as a LISP construct, according to a suitably generalized notion of evaluation, called 'LISP-reduction'. The effect of this LISP-reduction step within each deduction step is to make available to the LOGIC programmer virtually the full power of LISP. Additional keywords: Programming languages.