Initial Algebra Semantics and Continuous Algebras
Journal of the ACM (JACM)
Data-Driven and Demand-Driven Computer Architecture
ACM Computing Surveys (CSUR)
On the Development of the Algebra of Functional Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
Algorithmic Language and Program Development
Algorithmic Language and Program Development
Proceedings of the 10th Colloquium on Automata, Languages and Programming
Proceedings of the International Colloquium on Formalization of Programming Concepts
An Algebraic Semantics for Bachus' Functional Programming Language with Infinite Objects
GI - 13. Jahrestagung
Detailization and Lazy Evaluation, Infinite Objects and Pointer Representation
Program Construction, International Summer Schoo
The semantics of lazy (and industrious) evaluation
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
Function level programs as mathematical objects
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
The specification and application to programming of abstract data types.
The specification and application to programming of abstract data types.
Completeness of rewrite rules and rewrite strategies for FP
Journal of the ACM (JACM)
Denotational semantics and rewrite rules for FP
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Hi-index | 0.00 |
The paper introduces a variant of Backus' functional programming language FP that has non-strict basic operations as well as non-strict language constructs. The basic data structure of FP, finite nested sequences, is generalized to infinite trees by allowing a non-strict sequence constructor. Then infinite objects can be described as least solutions of recursion equations. For this language variant we give a structured mathematical and operational semantics which employs rewriting rules on finite terms. Infinite objects are evaluated by repeated unfolding of their recursive definitions and subsequent simplifications according to a confluent and Noetherian rewriting system on the level of objects. Two algorithms are given that formalize the ideas of busy (data-driven) and lazy (demand-driven) evaluation. Throughout the paper the semantic concepts of FP are explained; special emphasis is laid on the notion and the proper algebraic treatment of infinite objects.