Two-Level Functional Languages
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.
1001130891
Two-Level Functional Languages
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.
153.0 In Stock
Two-Level Functional Languages

Two-Level Functional Languages

Two-Level Functional Languages

Two-Level Functional Languages

Hardcover

$153.00 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

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

ISBN-13: 9780521403849
Publisher: Cambridge University Press
Publication date: 07/16/1992
Series: Cambridge Tracts in Theoretical Computer Science , #34
Pages: 312
Product dimensions: 6.69(w) x 9.61(h) x 0.75(d)

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.
From the B&N Reads Blog

Customer Reviews