Combinator evaluation of functional programs with logical variables

Update Item Information
Publication Type technical report
School or College College of Engineering
Department Computing, School of
Creator Lindstrom, Gary E.
Other Author Bage, Goran
Title Combinator evaluation of functional programs with logical variables
Date 1987
Description A technique is presented that brings logical variables into the scope of the well known Turner method for evaluating normal order functioned programs by S, K, I combinator graph reduction. This extension is illustrated by SASL+LV, an extension of Turner's language SASL in which general expressions serve as formal parameters, and parameter passage is done by unification. The conceptual and practical advantages of such an extension are discussed, as well as semantic pitfalls that arise from the attendant weakening of referential transparency. Only four new combinators (LV, BV, FN and UNIFY) are introduced. The resulting object code is fully upward compatible in the sense that previously compiled SASL object code remains executable with unchanged semantics. However, "read-only" variable usage in SASL-f LV programs requires a "multi-tasking" extension of the customary stack-based evaluation method. Mechanisms are presented for managing this multi-tasking on both single and multi-processor systems. Finally, directions are examined for applying this technique to implementations involving larger granularity combinators, and fuller semantic treatment of logical variables (e.g. accommodation of failing unifications).
Type Text
Publisher University of Utah
First Page 1
Last Page 25
Subject Functional programs; Logical variables; SASL+LV; Turner's language
Language eng
Bibliographic Citation Bage, G., & Lindstrom, G. (1987). Combinator evaluation of functional programs with logical variables?. 1-25. UUCS-87-027.
Series University of Utah Computer Science Technical Report
Relation is Part of ARPANET
Rights Management ©University of Utah
Format Medium application/pdf
Format Extent 3,780,246 bytes
Identifier ir-main,16341
ARK ark:/87278/s6j39b02
Setname ir_uspace
ID 705270
Reference URL https://collections.lib.utah.edu/ark:/87278/s6j39b02
Back to Search Results