Coexponential Exploration in the Clef Programming Language
Houston Haynes
Abstract
Clef was created as a concurrent programming language whose compiler tracks state ownership, waiting computations and request dependencies. We develop a coexponential account of stateful services and their client pools within this design. Delimited continuations retain the computation and resources needed to complete each interaction. These structures give our compiler premises for verifying service composition and preserving it through native lowering to multiple hardware targets. We connect finite actor state transitions to the initial, service and final rules of a coexponential server. A separate operational account relates actor dispatch to single-use continuation frames. We prove state-ownership and reply preservation for that translation, give a finite communication-summary analysis, and circular-wait exclusion from the conditions needed. A further result identifies when changing service order preserves both state and replies. Our Program Semantic Graph retains these facts through compilation. We are researching reusable proofs to confirm the ownership and communication interfaces, while our BAREWire implementation connects message meaning to its unboxed representation across respective endpoints. A distributed worker example preserves request identity across suspension, reordered replies and boundary conversion. Urschel's elimination-growth bounds supply quantitative premises for a solver service, whose accuracy and failure budget compose with the protocol contract. The design we envision connects automatic structural analysis, reusable proof terms and native realization. Protocols determine the admissible interactions, continuations expose their storage requirements, and retained dependencies support differential compilation. Developers can express ordinary stateful services while the compiler carries the conditions for their correct composition across execution targets.
Create a lesson
Related papers
A Simplified Layout Algebra for GPU Kernels
Nan An, Xiaotian Zhou
Bayes Rule for Conditioning Probabilistic Programs
Feras A. Saad
Modular Responsiveness Verification of Rust Async Runtimes
Yanze Li, Ivan Beschastnikh, Alexander J. Summers
When Double Rounding is Correct
Brett Saiki, Bill Zorn, Cynthia Richey et al.
Automatically Detecting and Fixing Deadlocks in Go Code with GoDDaR
Gustavo Feio, Jorge Coelho, Miguel Flor et al.
Cleave: Scaling Tensor Program Optimization via Decoupled Algebraic Search and Operator Scheduling
David Pissarra, Jinkun Lin, Haitian Jiang et al.