Searcharxiv⌕ Search

arXiv subjects

Frédéric Dabrowski

Publications and source records attributed to Frédéric Dabrowski.

3 recordsLinked to original sources

Tempo: Reconstructing Synchronous Reactive Programming with OCaml 5 Effects

Synchronous reactive programming gives reactive systems a deterministic temporal structure by organizing execution into logical instants and signal-based communication. Boussinot's synchronous reactive model extends this setting with cooperative threads, broadcast signals, and dynamic processes; ReactiveML brings that model into a strict, typed, higher-order functional language. This paper studies whether the same core mechanisms can be reconstructed inside ordinary OCaml 5, rather than exposed by a dedicated language extension. We present Tempo, a library runtime based on algebraic effects and deep handlers: effect operations delimit reactive suspension points, and the handler reifies captured continuations as tasks scheduled by logical-instant semantics. A comparative study with ReactiveML quantifies the overhead of this library-level reconstruction and identifies the runtime mechanisms that dominate its cost.

cs.PL↗

Kairos: Generating Tick-Indexed Proof Obligations for Synchronous Temporal Contracts

Requirements for synchronous programs relate observations across ticks, while general-purpose deductive backends use first-order conditions on local steps. Kairos is a prototype toolchain generating such obligations from synchronous programs and source-level temporal safety contracts in assume-guarantee form. Using the standard automata-theoretic reduction, it translates their linear temporal logic (LTL) formulas into bad-state automata, forms their product with the program, and derives tick-indexed Why3 obligations. We formalize the underlying principles and prove reactive contract correctness: under the stated program and automaton hypotheses, every input trace satisfying the environment assumptions induces a unique execution satisfying the temporal guarantees. The definitions, obligation construction, and proof are mechanized in Rocq. A medical infusion controller illustrates the workflow.

cs.LO↗

Functional Reactive Programming with Effects, A More Permissive Approach

We introduce a functional reactive programming language that extends WORMHOLES, an enhancement of YAMPA with support for effects. Our proposal relaxes the constraint in WORMHOLES that restricts all resources to single-use. Resources are categorized into two kinds: input/output resources and internal resources. Input/output resources model interactions with the environment and follow constraints similar to those in WORMHOLES. Internal resources, on the other hand, enable communication between program components and can be used multiple times. We demonstrate that programs written in our language can be translated into equivalent effect-free YAMPA programs, ensuring that our approach remains compatible with existing functional reactive paradigms.

cs.PL↗