collaborators
Showing cs.PLShow all

5 papers · 1 filter

cs.PL2025

Exploring the Theory and Practice of Concurrency in the Entity-Component-System Pattern

Patrick Redmond, Jonathan Castello, José Manuel Calderón Trilla +1

The Entity-Component-System (ECS) software design pattern, long used in game development, encourages a clean separation of identity (entities), data properties (components), and co…

cs.PL2025

Freer Arrows and Why You Need Them in Haskell

Grant VanDomelen, Gan Shen, Lindsey Kuper +1

Freer monads are a useful structure commonly used in various domains due to their expressiveness. However, a known issue with freer monads is that they are not amenable to static a…

cs.PL2025

Efficient, Portable, Census-Polymorphic Choreographic Programming

Mako Bates, Shun Kashiwa, Syed Jafri +3

Choreographic programming (CP) is a paradigm for implementing distributed systems that uses a single global program to define the actions and interactions of all participants. Libr…

cs.PL2024

Toward Verified Library-Level Choreographic Programming with Algebraic Effects

Gan Shen, Lindsey Kuper

Choreographic programming (CP) is a paradigm for programming distributed applications as single, unified programs, called choreographies, that are then compiled to node-local progr…

cs.PL2024

Inductive diagrams for causal reasoning

Jonathan Castello, Patrick Redmond, Lindsey Kuper

The Lamport diagram is a pervasive and intuitive tool for informal reasoning about "happens-before" relationships in a concurrent system. However, traditional axiomatic formalizati…