Skip to main content

Processing functional definitions as declarative knowledge: A reduced bytecode implementation of a functional logic machine

  • Conference paper
  • First Online:
Processing Declarative Knowledge (PDK 1991)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 567))

Included in the following conference series:

  • 193 Accesses

Abstract

Given a logical extension of the Scheme language, we present a bytecode implementation of an abstract machine allowing to process functional definitions in a declarative framework. In contrast to standard Prolog machines, which include specialized instructions to unify terms, the task of building structures and lists relies on the data constructors implementing the functional part of the system. Furthermore, as the different clauses of a logical procedure are explicitely chained from within an object closure, predicate applications follow the same pattern as function applications, i.e. can be controlled by a pair of apply/return instructions. These features result in an abstract machine that is very much like a minimally extended functional machine coupled with a unification coprocessor.

This research was supported by the Swiss National Research Foundation under Grant 21-27835.89

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bonzon, P., A Metacircular Evaluator for a Logical Extension of Scheme, Lisp and Symbolic Computation, 2,3 (1990)

    Google Scholar 

  2. Bonzon, P., Reflection in objects: towards a uniform architecture, Internal Report HEC (Feb. 1991)

    Google Scholar 

  3. Bosco, P., Cecchi, C. and Moiso, C. An Extension of WAM for K-LEAF: a WAM-based compilation of conditional narrowing, Proc. 6th Intl. Conf. on Logic Programming, MIT Press (1989)

    Google Scholar 

  4. Chu, D., and McCabe, F., SWIFT — a New Symbolic Processor, Proc. 5th Intl. Conf. and Symp. on Logic Programming, MIT Press (1988)

    Google Scholar 

  5. De Groot, D. and Lindstrom, G. (eds), Logic Programming / Functions, Relations and Equations, Prentice Hall (1986)

    Google Scholar 

  6. Fairbarn, J., and Wray, S., TIM: a Simple, Lazy Abstract Machine to Execute Supercombinators, Proc. Functional Languages and Computer Architecture Conference (1987)

    Google Scholar 

  7. Jamsek, D., Greene, K., Chin, S.-H. and Humenn, P., WINTER: WAMS in TIM Expression Reduction, Proc. North Amer. Conf. on Logic Programming, MIT Press (1989)

    Google Scholar 

  8. Landin, P., The Mechanical Evaluation of Expressions, Computer Journal, 6,4 (1964)

    Google Scholar 

  9. Ruf, E., and Weise, D., LogScheme: Integrating Logic Programming into Scheme, Lisp and Symbolic Computation, 3,3 (1990)

    Article  Google Scholar 

  10. Warren, D.H.D., An abstract Prolog Instruction Set, Technical Note 309, SRI International (1983)

    Google Scholar 

  11. Wirth, N., Algorithms + Data Structures=Programs, Prentice-Hall (1976)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Harold Boley Michael M. Richter

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bonzon, P. (1991). Processing functional definitions as declarative knowledge: A reduced bytecode implementation of a functional logic machine. In: Boley, H., Richter, M.M. (eds) Processing Declarative Knowledge. PDK 1991. Lecture Notes in Computer Science, vol 567. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0013536

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55033-4

  • Online ISBN: 978-3-540-46667-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics