10 Continuation Marks

▼ |  | Inside: Racket 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 | Subprocesses
18 | Miscellaneous Utilities
19 | Flags and Hooks
| Index

top ← prev up next →

### 10`` Continuation Marks

A mark can be attached to the current continuation frame using scheme_set_cont_mark. To force the creation of a new frame (e.g., during a nested function call within your function), use scheme_push_continuation_frame, and then remove the frame with scheme_pop_continuation_frame.

void |  | scheme_set_cont_mark | ( | Scheme_Object* key,
|  |  |  | Scheme_Object* val)

Add/sets a continuation mark in the current continuation.

void |  | scheme_push_continuation_frame | ( | Scheme_Cont_Frame_Data* data)

Creates a new continuation frame. The data record need not be initialized, and it can be allocated on the C stack. Supply data to scheme_pop_continuation_frame to remove the continuation frame.

void |  | scheme_pop_continuation_frame | ( | Scheme_Cont_Frame_Data* data)

Removes a continuation frame created by scheme_push_continuation_frame.
top ← prev up next →