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
Preview
Unable to display preview. Download preview PDF.
References
Bonzon, P., A Metacircular Evaluator for a Logical Extension of Scheme, Lisp and Symbolic Computation, 2,3 (1990)
Bonzon, P., Reflection in objects: towards a uniform architecture, Internal Report HEC (Feb. 1991)
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)
Chu, D., and McCabe, F., SWIFT — a New Symbolic Processor, Proc. 5th Intl. Conf. and Symp. on Logic Programming, MIT Press (1988)
De Groot, D. and Lindstrom, G. (eds), Logic Programming / Functions, Relations and Equations, Prentice Hall (1986)
Fairbarn, J., and Wray, S., TIM: a Simple, Lazy Abstract Machine to Execute Supercombinators, Proc. Functional Languages and Computer Architecture Conference (1987)
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)
Landin, P., The Mechanical Evaluation of Expressions, Computer Journal, 6,4 (1964)
Ruf, E., and Weise, D., LogScheme: Integrating Logic Programming into Scheme, Lisp and Symbolic Computation, 3,3 (1990)
Warren, D.H.D., An abstract Prolog Instruction Set, Technical Note 309, SRI International (1983)
Wirth, N., Algorithms + Data Structures=Programs, Prentice-Hall (1976)
Author information
Authors and Affiliations
Editor information
Rights 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