Inside PLT MzScheme

Matthew Flatt ( 

Released July 2006

    1  Overview
        1.1  Writing MzScheme Extensions
        1.2  Embedding MzScheme into a Program
        1.3  MzScheme and Threads
        1.4  MzScheme, Unicode, Characters, and Strings
        1.5  Integers

    2  Values and Types
        2.1  Standard Types
        2.2  Global Constants
        2.3  Strings
        2.4  Library Functions

    3  Memory Allocation
        3.1  Cooperating with 3m
            3.1.1  Tagged Objects
            3.1.2  Local Pointers
            3.1.3  Local Pointers and mzc
        3.2  Library Functions

    4  Namespaces and Modules
        4.1  Library Functions

    5  Procedures
        5.1  Library Functions

    6  Evaluation
        6.1  Top-level Evaluation Functions
        6.2  Tail Evaluation
        6.3  Multiple Values
        6.4  Library Functions

    7  Exceptions and Escape Continuations
        7.1  Temporarily Catching Error Escapes
        7.2  Enabling and Disabling Breaks
        7.3  Library Functions

    8  Threads
        8.1  Integration with Threads
        8.2  Allowing Thread Switches
        8.3  Blocking the Current Thread
        8.4  Threads in Embedded MzScheme with Event Loops
            8.4.1  Callbacks for Blocked Threads
        8.5  Sleeping by Embedded MzScheme
        8.6  Library Functions

    9  Parameterizations
        9.1  Library Functions

    10  Continuation Marks
        10.1  Library Functions

    11  String Encodings
        11.1  Library Functions

    12  Bignums, Rationals, and Complex Numbers
        12.1  Library Functions

    13  Ports and the Filesystem
        13.1  Library Functions

    14  Structures
        14.1  Library Functions

    15  Security Guards
        15.1  Library Functions

    16  Custodians
        16.1  Library Functions

    17  Miscellaneous Utilities
        17.1  Library Functions

    18  Flags and Hooks


Copyright notice

Copyright ©1995-2006 Matthew Flatt

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Library General Public License, Version 2 published by the Free Software Foundation. A copy of the license is included in the appendix entitled ``License.''

libscheme: Copyright ©1994 Brent Benson. All rights reserved.

Conservative garbage collector: Copyright ©1988, 1989 Hans-J. Boehm, Alan J. Demers. Copyright ©1991-1996 by Xerox Corporation. Copyright ©1996-1999 by Silicon Graphics. Copyright ©1999-2001 by Hewlett Packard Company. All rights reserved.

Collector C++ extension by Jesse Hull and John Ellis: Copyright ©1994 by Xerox Corporation. All rights reserved.

Send us your Web links

If you use any parts or all of the PLT Scheme package (software, lecture notes) for one of your courses, for your research, or for your work, we would like to know about it. Furthermore, if you use it and publicize the fact on some Web page, we would like to link to that page. Please drop us a line at Evidence of interest helps the DrScheme Project to maintain the necessary intellectual and financial support. We appreciate your help.


Some typesetting macros were originally taken from Julian Smart's Reference Manual for wxWindows 1.60: a portable C++ GUI toolkit.

Last modified: Friday, July 28th, 2006 12:33:41am