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.0.2

 

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_pop_continuation_frame.