Conditional rewrite rules: Confluence and termination
Journal of Computer and System Sciences
The foundations of program verification (2nd ed.)
The foundations of program verification (2nd ed.)
Theoretical Computer Science
Formal Aspects of Computing
Handbook of theoretical computer science (vol. B)
Recursive applicative program schemes
Handbook of theoretical computer science (vol. B)
Handbook of theoretical computer science (vol. B)
CPS-transformation after strictness analysis
ACM Letters on Programming Languages and Systems (LOPLAS)
Handbook of logic in computer science (vol. 2)
Tree-Manipulating Systems and Church-Rosser Theorems
Journal of the ACM (JACM)
Initial Algebra Semantics and Continuous Algebras
Journal of the ACM (JACM)
Minimal and optimal computations of recursive programs
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Computing in Systems Described by Equations
Computing in Systems Described by Equations
Introduction to Mathematical Theory of Computation
Introduction to Mathematical Theory of Computation
Parametricity and Unboxing with Unpointed Types
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
Unboxed Values as First Class Citizens in a Non-Strict Functional Language
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
Stable Models of Typed lambda-Calculi
Proceedings of the Fifth Colloquium on Automata, Languages and Programming
A Sequential Reduction Strategy
ALP '94 Proceedings of the 4th International Conference on Algebraic and Logic Programming
Correct and optimal implementations of recursion in a simple programming language
Journal of Computer and System Sciences
Hi-index | 0.00 |
A comprehensive semantics for functional programs is presented, which generalizes the well-known call-by-value and call-by-name semantics. By permitting a separate choice between call-by value and call-by-name for every argument position of every function and parameterizing the semantics by this choice we abstract from the parameter-passing mechanism. Thus common and distinguishing features of all instances of the ζ-semantics, especially call-by-value and call-by-name semantics, are highlighted. Furthermore, a property can be validated for all instances of the ζ-semantics by a single proof. This is employed for proving the equivalence of the given denotational (fixed-point based) and two operational (reduction based) definitions of the ζ-semantics. We present and apply means for very simple proofs of equivalence with the denotational ζ-semantics for a large class of reduction-based ζ-semantics. Our basis are simple first-order constructor-based functional programs with patterns.