You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It can be difficult to discuss different aspects of stack switching without some form of common terms for different aspects.
This note is an attempt to support the design process by defining some concepts. There is a strong possibilitycertainty that new terms not mentioned here will be needed; so this should be viewed as the start of a conversation.
These definitions are listed in alphabetical order, for lack of other organizing principles.
Delimiter Label
A delimiter label is a term that denotes a prompt bracket. Delimiter labels may or may not be values.
Opt-in
Opt-in refers to a systemic property where a given feature (in this case stack switching generally) is only available after some positive action on the part of a computation.
Prompt Bracket
A prompt bracket marks the beginning of a suspend-able computation.
Reified Continuation
A reified continuation is a value that denotes the remaining computation of a task after it has suspended.
Response Computation
The computation that is launched as a result of suspending a task.
Resume Point
A resume point marks where a suspended computation is resumed.
Safety
Safety refers to a verifiable property of computations that certain events cannot occur. For example, in the case of a resume point, the primary safety requirements include that any data values transmitted meet declared types and that the computation being resumed was suspended.
Suspension Bracket
A suspension bracket marks the point where a computation has suspended. Immediately after the suspension bracket is the computation that is responding to the suspension.
Task
A complete suspendable computation, starting from when the task is initiated -- marked by a prompt bracket -- and ending when the computation terminates finally. A task may suspend and be resumed multiple times between the initial creation and the final termination.
Note that these terms should not be viewed as prejudicing any particular design approach.
The text was updated successfully, but these errors were encountered:
dhil
pushed a commit
to dhil/wasm-stack-switching
that referenced
this issue
Apr 12, 2024
It can be difficult to discuss different aspects of stack switching without some form of common terms for different aspects.
This note is an attempt to support the design process by defining some concepts. There is a
strong possibilitycertainty that new terms not mentioned here will be needed; so this should be viewed as the start of a conversation.These definitions are listed in alphabetical order, for lack of other organizing principles.
A delimiter label is a term that denotes a prompt bracket. Delimiter labels may or may not be values.
Opt-in refers to a systemic property where a given feature (in this case stack switching generally) is only available after some positive action on the part of a computation.
A prompt bracket marks the beginning of a suspend-able computation.
A reified continuation is a value that denotes the remaining computation of a task after it has suspended.
The computation that is launched as a result of suspending a task.
A resume point marks where a suspended computation is resumed.
Safety refers to a verifiable property of computations that certain events cannot occur. For example, in the case of a resume point, the primary safety requirements include that any data values transmitted meet declared types and that the computation being resumed was suspended.
A suspension bracket marks the point where a computation has suspended. Immediately after the suspension bracket is the computation that is responding to the suspension.
A complete suspendable computation, starting from when the task is initiated -- marked by a prompt bracket -- and ending when the computation terminates finally. A task may suspend and be resumed multiple times between the initial creation and the final termination.
Note that these terms should not be viewed as prejudicing any particular design approach.
The text was updated successfully, but these errors were encountered: