Skip to main content
Log in

A metacircular evaluator for a logical extension of Scheme

  • Published:
LISP and Symbolic Computation

Abstract

We define a computational model for a logical extension of Scheme, and give a metacircular evaluator for it. This minimal extension incorporates two new features only, i.e. logical variables and clause expressions, which can be used to define predicates in exactly the same way as lambda expressions can be used to define functions.

Higher-order properties of Scheme are preserved: predicates can be passed to and returned from function applications. Predicate applications can appear as terms in functions. On the other hand, function applications can appear as terms in predicates, and can be formal as well as actual arguments, but only as long as they can be evaluated according to the usual Scheme semantics prohibiting access to unbound variables (except for constructor applications).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abelson, A. and Sussman, G.J.Structure and Interpretation of Computer Programs. MIT Press, Cambridge, Massachusetts (1985).

    Google Scholar 

  2. Bonzon, P. An environment model for the integration of logic and functional programming. InProceedings of the 10th International Joint Conference on Artificial Intelligence, Milano, Italy (1987).

  3. Darlington, J., Field, A. J., and Pull, H. The unification of functional and logic languages. In De Groot, D. and Lindstrom, G., editors,Logic Programming: Relations, Functions, and Equations, Prentice-Hall (1986).

  4. Dincbas, M. and van Hentenryck, P. Extended unification algorithms for the integration of functional programming.Journal of Logic Programming, 4 (1987).

  5. Haynes, Ch. T. Logic continuations.Journal of Logic Programming, 4 (1987).

  6. Reddy, U.S. On the relationship between logic and functional languages. In De Groot, D. and Lindstrom, G., editors,Logic Programming: Relations, Functions, and Equations, Prentice-Hall (1986).

  7. Robinson, J.A. and Sibert, E.E. Loglisp: motivation, design, and implementation. In Clark, K.L. and Tarnlund, S.A., editors,Logic Programming, Academic Press (1982).

  8. Srivastava, A., Oxley, D., and Srivastava, D. Integration of logic and functional programming. InIEEE Symposium on Logic Programming,, Boston (1985).

  9. Thrift, Ph. Common lisp relations: an extension of lisp for logic programming. InProceedings of the 1988 International Conference on Computer Languages, Miami Beach (1985).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bonzon, P.E. A metacircular evaluator for a logical extension of Scheme. Lisp and Symbolic Computation 3, 113–134 (1990). https://doi.org/10.1007/BF01806255

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01806255

Keywords

Navigation