Version: 4.2.5

Typed Scheme: Scheme with Static Types

Sam Tobin-Hochstadt

Typed Scheme is a family of languages, each of which enforce that programs written in the language obey a type system that ensures the absence of many common errors. This guide is intended for programmers familiar with PLT Scheme. For an introduction to PLT Scheme, see the Guide: PLT Scheme.

    1 Quick Start

    2 Beginning Typed Scheme

      2.1 Datatypes and Unions

      2.2 Type Errors

    3 Specifying Types

      3.1 Type Annotation and Binding Forms

        3.1.1 Annotating Definitions

        3.1.2 Annotating Local Binding

        3.1.3 Annotating Functions

        3.1.4 Annotating Single Variables

        3.1.5 Annotating Expressions

      3.2 Type Inference

      3.3 New Type Names

    4 Types in Typed Scheme

      4.1 Basic Types

      4.2 Function Types

      4.3 Union Types

      4.4 Recursive Types

      4.5 Structure Types

      4.6 Subtyping

      4.7 Polymorphism

        4.7.1 Polymorphic Data Structures

        4.7.2 Polymorphic Functions

      4.8 Variable-Arity Functions: Programming with Rest Arguments

        4.8.1 Uniform Variable-Arity Functions

        4.8.2 Non-Uniform Variable-Arity Functions