Lambda lifting: transforming programs to recursive equations
Proc. of a conference on Functional programming languages and computer architecture
Introduction to combinators and &lgr;-calculus
Introduction to combinators and &lgr;-calculus
Higher-order functions considered unnecessary for higher-order programming
Research topics in functional programming
Handbook of logic in computer science (vol. 2)
Refinement types for ML
Verifiable Programming
Subtyping and constructive specification
Nordic Journal of Computing
Strong Normalization of Typeable Rewrite Systems
HOA '93 Selected Papers from the First International Workshop on Higher-Order Algebra, Logic, and Term Rewriting
Subtyping and constructive specification
Nordic Journal of Computing
Hi-index | 0.00 |
We discuss how the 1'st order specification and programming language ABEL could be extended with higher order functions. Several issues arise, related to subtyping, parameterization, strictness of generators and defined functions, and to the choice between lambda expressions and currying. The paper can be regarded as an exercise in language design: how to introduce higher order functions under the restrictions enforced by (1'st order) ABEL. A technical result is a soundness proof for covariant subtype replacement, useful when implementing data types under volume constraints imposed by computer hardware.