Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stack Switching Ontology #7

Open
fgmccabe opened this issue Jan 11, 2022 · 0 comments
Open

Stack Switching Ontology #7

fgmccabe opened this issue Jan 11, 2022 · 0 comments

Comments

@fgmccabe
Copy link
Collaborator

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.

dhil pushed a commit to dhil/wasm-stack-switching that referenced this issue Apr 12, 2024
dhil added a commit to dhil/wasm-stack-switching that referenced this issue Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant