Theory of recursive functions and effective computability
Theory of recursive functions and effective computability
The Expressiveness of Simple and Second-Order Type Structures
Journal of the ACM (JACM)
On the Development of the Algebra of Functional Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
Computing in Systems Described by Equations
Computing in Systems Described by Equations
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Formal Representations for Recursively Defined Functional Programs
Proceedings of the International Colloquium on Formalization of Programming Concepts
Implementation of an interpreter for abstract equations
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Busy and lazy FP with infinite objects
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
HOPE: An experimental applicative language
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Sacrificing simplicity for convenience: Where do you draw the line?
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Completeness of rewrite rules and rewrite strategies for FP
Journal of the ACM (JACM)
Operational and axiomatic semantics of PCF
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Hi-index | 0.00 |
We consider languages whose operational semantics is given by a set of rewrite rules. For such languages, it is important to be able to determine that there are enough rules to completely reduce all meaningful expressions, but not so many that the system of rules is inconsistent. We develop a formal framework in which to give a precise treatment of these soundness and completeness issues. We believe our approach to be novel in that we make heavy use of denotational semantics in our proof of completeness. The particular language for which we answer these questions is an extended version of the functional programming language FP; however the applicability of these techniques extends beyond the realm of FP rewriting systems.