CloudChor is a Haskell library for lighweight and efficient choreographic programming aimed at developing cloud services. It is a backwards-compatible extension of the HasChor library.
For more details, see the PEPM '26 paper Towards Lightweight and Efficient Choreographic Cloud Services.
src/contains the source code of the library.Choreography.Location.Multiis the module that implements multiply-located values.
examples/includes example programs using the library.clean-room: An implementation of a data clean room protocol as a choreography.unsoundness: Two counter-examples showing how unrestricted IO can lead to unsoundness.HasChor: The original examples from the HasChor repository.
benchmark/contains the setup for running benchmarks to comparecondvs.cond_.paper/contains the full version of the paper, including appendices.
This repository is provided under the terms of the Mozilla Public License 2.0. It is based on HasChor, which is provided under the BSD-3-Clause License.