▼ |  | Inside: PLT Scheme C API

1 | Overview
2 | Values and Types
3 | Memory Allocation
4 | Namespaces and Modules
5 | Procedures
6 | Evaluation
7 | Exceptions and Escape Continuations
8 | Threads
9 | Parameterizations
10 | Continuation Marks
11 | String Encodings
12 | Bignums, Rationals, and Complex Numbers
13 | Ports and the Filesystem
14 | Structures
15 | Security Guards
16 | Custodians
17 | Miscellaneous Utilities
18 | Flags and Hooks
| Index

Version: 4.2.4
top ← prev up next →

## Inside: PLT Scheme C API

Matthew Flatt

This manual describes PLT Scheme’s C interface, which allows the interpreter to be extended by a dynamically-loaded library, or embedded within an arbitrary C/C++ program. The manual assumes familiarity with PLT Scheme as described in Reference: PLT Scheme.

For an alternative way of dealing with foreign code, see FFI: PLT Scheme Foreign Interface, which describes the scheme/foreign module for manipulating low-level libraries and structures purely through Scheme code.

1 Overview
1.1 CGC versus 3m
1.2 Writing MzScheme Extensions
1.2.1 CGC Extensions
1.2.2 3m Extensions
1.3 Embedding MzScheme into a Program
1.3.1 CGC Embedding
1.3.2 3m Embedding
1.4 MzScheme and Threads
1.5 MzScheme, Unicode, Characters, and Strings
1.6 Integers
2 Values and Types
2.1 Standard Types
2.2 Global Constants
2.3 Strings
2.4 Value 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 --xform
3.1.4 Guiding mzc --xform
3.2 Memory Functions
4 Namespaces and Modules
5 Procedures
6 Evaluation
6.1 Top-level Evaluation Functions
6.2 Tail Evaluation
6.3 Multiple Values
6.4 Evaluation Functions
7 Exceptions and Escape Continuations
7.1 Temporarily Catching Error Escapes
7.2 Enabling and Disabling Breaks
7.3 Exception Functions
8 Threads
8.1 Integration with Threads
8.2 Allowing Thread Switches
8.3 Blocking the Current Thread
8.4 Threads in Embedded Scheme with Event Loops
8.4.1 Callbacks for Blocked Threads
8.5 Sleeping by Embedded Scheme
8.6 Thread Functions
9 Parameterizations
10 Continuation Marks
11 String Encodings
12 Bignums, Rationals, and Complex Numbers
13 Ports and the Filesystem
14 Structures
15 Security Guards
16 Custodians
17 Miscellaneous Utilities
18 Flags and Hooks
Index

top ← prev up next →