sequence/README.md

834 B

sequence

A stackless bytecode interpreter implemented in OCaml using CPS.

All control flow is expressed through explicit continuations rather than the OCaml call to ensure stack safety through a trampoline

Continuation Representation

Continuations are represented as a recursive type:

type continuation =
  | Halt
  | Return_to of continuation
  | Apply_to of { func : value; cont : continuation }
  | Eval_to of { expr : instruction; cont : continuation }
  | Pop_to of { n : int; cont : continuation }
  | Exception_to of { handler : continuation; cont : continuation }

Each continuation represents "what to do next" after the current computation completes

Exception continuations enable structured error handling

Building/Running

dune build
dune exec sequence