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
July 1992
Available
Hardback
9780521403849

Looking for an examination copy?

If you are interested in the title for your course we can consider offering an examination copy. To register your interest please contact [email protected] providing details of the course you are teaching.

    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 generalizes Wadler's analysis for lists. It is also shown how the results of abstract interpretation may be used to improve the code generation.

    Product details

    July 1992
    Hardback
    9780521403849
    312 pages
    244 × 170 × 19 mm
    0.7kg
    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.
      Authors
    • Flemming Nielson , Aarhus Universitet, Denmark
    • Hanne Riis Nielson , Aarhus Universitet, Denmark