Contents

    1  Introduction

    2  Installation

    3  First Steps
        3.1  Power
        3.2  Lambda interpreter
        3.3  Cyclic
        3.4  Guide to the other examples
        3.5  Specialization of modular programs
        3.6  Specialization with respect to indexed data

    4  Reference manual
        4.1  Notation
        4.2  Type system
        4.3  Binding-time analysis
        4.4  Primitive operations
        4.5  Representation analysis
        4.6  Memoization
        4.7  Special expressions
            4.7.1  eval
            4.7.2  apply
            4.7.3  lambda-poly
        4.8  Predefined operators
        4.9  Directives
            4.9.1  define-without-memoization
            4.9.2  define-data
            4.9.3  define-type
            4.9.4  define-primitive
            4.9.5  define-memo
            4.9.6  load
            4.9.7  begin
        4.10  Commands
            4.10.1  Creating a generating extension
            4.10.2  Running a generating extension
            4.10.3  Continuing a specialization
            4.10.4  Suspend a deferred specialization
            4.10.5  Resurrect a deferred specialization
        4.11  Settable options
        4.12  Utilities

    5  Differences to Scheme

    6  Reading a generating extension

    7  Technical background
        7.1  Partial evaluation in general
        7.2  Directly related publications
        7.3  Structure of the implementation

    8  Known problems