related/ — comparison to existing work

ral’s design read against the literature. Each page sits one published system (or a tight cluster) beside ral’s own pages and says three things: what corresponds, what deliberately diverges, and what ral could borrow. How these pages are written and kept honest is the maintainer contract.

These pages are durable on the external work — a published calculus does not change — and keyed to ral’s design via each page’s against stamp: a decisions/ page that supersedes a compared-against design page is the signal to revisit.

Pages

  • system-c — Brachthäuser et al. 2022: effects and capabilities reconciled. The shared box = thunk identity, self-masking as capability-set subtraction, and the type-based pole of grant.
  • scoped-labels — Leijen 2005: the record calculus row-types implements, taken whole minus the restriction primitive; override is shadowing, never removal.
  • handlers-of-algebraic-effects — Plotkin–Pretnar 2009: the founding handler calculus, on CBPV, with shell redirection as its own example; ral is its tail-resumptive fragment, and the pipe they could not express is ral’s primitive.
  • rows-and-handlers — Hillerström–Lindley 2016: the effect typing ral declined — the same row machinery, extended to every arrow; nearly ral’s runtime, the inverse of ral’s wild/handleable split.
  • call-by-push-value — Levy 1999/2003: the substrate taken as surface design; ral grades F with byte modes, adds the pipe as a combinator, and drops computation products.

6 items under this folder.