Step in Tine: Forking Processes in Functional Choreographies

📅 2026-05-21
📈 Citations: 0
Influential: 0
📄 PDF

career value

185K/year
🤖 AI Summary
This work proposes λpitchfork, the first functional choreographic language supporting dynamic process spawning. Traditional concurrent programming requires separate programs for each participant, while existing choreographic approaches struggle to accommodate dynamic process creation. In contrast, λpitchfork enables runtime decisions about when, how, and with whom new processes are spawned, all while guaranteeing deadlock freedom. The language automatically generates distributed endpoint programs from a centralized choreographic specification. By integrating dynamic process spawning into functional choreographic programming, this approach rigorously combines theoretical soundness with practical expressiveness, effectively capturing real-world concurrency patterns such as load balancing and parallel divide-and-conquer. The correctness and practicality of λpitchfork are substantiated through formal verification and illustrative case studies.
📝 Abstract
Traditional concurrent-programming techniques require programmers to painstakingly write programs for each participant in a concurrent system. Choreographic programming, in contrast, allows a programmer to write one centralized program and compile it to individual programs. This approach simplifies critical properties like deadlock freedom, but it complicates forking new processes, a core primitive in concurrent programming. This work addresses that gap with the choreographic fork calculus $λ{\pitchfork}$, the first functional choreographic language with process forking. $λ{\pitchfork}$ provides a deadlock-freedom guarantee while allowing programs to dynamically determine when to spawn new processes, what they will do, and who will communicate with them. In doing so, it supports practical applications like load balancers and parallel divide-and-conquer.
Problem

Research questions and friction points this paper is trying to address.

choreographic programming
process forking
deadlock freedom
concurrent programming
functional choreographies
Innovation

Methods, ideas, or system contributions that make the work stand out.

choreographic programming
process forking
deadlock freedom
functional language
concurrent systems