Lectures onType Theory
Effect-capability and tunnelling notation
appendix sectionnotation

Effect-capability and tunnelling notation

Chapter 32 owns the following notation within its three separate cards.

notation scope and role non-transfer condition
notation scope and role non-transfer condition
Γ value variables in System Xi and Effekt; term variables in tunnelling the surrounding judgment fixes the context grammar
Δ block variables in System Xi and Effekt; effect variables in tunnelling and Olaf no equality between these contexts is implied
Ξ ordered allocation stack in System Xi; label context in tunnelling; lifetime constants in Olaf in Ξ0,:τ,Ξ+, Ξ0 is the capability’s birth prefix and Ξ+ contains later delimiters
P tunnelling handler-variable context does not occur in System Xi or Effekt
Θ abbreviation for a translated System-Xi block context; lifetime-variable context in the separate Olaf boundary the surrounding card fixes which role is active
#{s} System-Xi runtime delimiter introduced only by handler reduction
cap{(x,k)s} System-Xi runtime capability second class and usable only under matching #
h tunnelling request constructor names a handler value, not merely an operation
[T]e¯t tunnelling delimiter distinct from System-Xi’s #
⇝̸K context K does not bind label a syntactic side condition, not set nonmembership

ΔPΓΞ

t1logt2:[T]e¯

open logical-refinement judgment marks the judgment; log relates terms

CapTy,CapEff

CapStmtΣ,Δ

named Effekt-to-System-Xi syntax translation not semantic double brackets

O,T,K,S

V,H,U,W

tunnelling logical-relation components indexed only by the displayed worlds and environments
P step-indexed later modality in the tunnelling logical relation lowers the numerical index; it does not extend the label context Ξ

All context extensions in the tunnelling card bind fresh names. In particular, Ξ,:[T]e¯ carries the side condition dom(Ξ); the separate condition fl(T,e¯) prevents that fresh label from escaping the delimiter’s result interface.

The glyphs and are owned by Chapter 32’s tunnelling syntax. Elsewhere in the book, raw arrows retain their usual order, reduction, or implication roles. The symbol log denotes logical refinement only when accompanied by the tunnelling or Olaf typing contexts. The symbol ⇝̸ is a syntactic no-binding judgment.

The three effect carriers are deliberately distinct: ε={F1,,Fn}in Effekt,e¯=α,,h.lbl,in tunnelling,c=e1,,enin Olaf. Their union, substitution, and scope laws belong to their own cards. An Effekt set is not silently interpreted as a tunnelling effect sequence, and an Olaf lifetime effect is not a System-Xi runtime label.

Search the book

Type to search the local edition.