Our systems are now restored following recent technical disruption, and we’re working hard to catch up on publishing. We apologise for the inconvenience caused. Find out more

Recommended product

Popular links

Popular links


Two-Level Functional Languages

Two-Level Functional Languages

Two-Level Functional Languages

Flemming Nielson, Aarhus Universitet, Denmark
Hanne Riis Nielson, Aarhus Universitet, Denmark
August 2005
Paperback
9780521018470

    The authors describe here a framework in which the type notation of functional languages is extended to include a notation for binding times (that is run-time and compile-time) that distinguishes between them. Consequently the ability to specify code and verify program correctness can be improved. Two developments are needed, the first of which introduces the binding time distinction into the lambda calculus, in a manner analogous with the introduction of types into the untyped lambda calculus. Methods are also presented for introducing combinators for run-time. The second concerns the interpretation of the resulting language, which is known as the mixed lambda-calculus and combinatory logic. The notion of 'parametrized semantics' is used to describe code generation and abstract interpretation. The code generation is for a simple abstract machine designed for the purpose; it is close to the categorical abstract machine. The abstract interpretation focuses on a strictness analysis that generalises Wadler's analysis for lists.

    Product details

    August 2005
    Paperback
    9780521018470
    312 pages
    244 × 170 × 17 mm
    0.493kg
    4 b/w illus. 35 tables
    Available

    Table of Contents

    • 1. Introduction
    • 2. Types made explicit
    • 3. Binding-time made explicit
    • 4. Combinators made explicit
    • 5. Parametrized semantics
    • 6. Code generation
    • 7. Abstract interpretation
    • 8. Conclusions
    • Bibliography
    • Summary of transformation functions
    • Index.