Choreographic programming library for MoonBit.
type AIter[T]type AIter2[A, B]type ChoreoContextfn ChoreoContext::condition[L : Location + Show + Hash](self : ChoreoContext, loc : L, c : Located[Bool, L]) -> Boolfn ChoreoContext::locally[T, L : Location + Show + Hash](self : ChoreoContext, location : L, computation : (Unwrapper[L]) -> T) -> Located[T, L]type NetworkConfigfn NetworkConfig::broadcast[From : Location + Show + Hash, T : ToJson + FromJson](self : NetworkConfig, from : From, msg : T) -> Unitfn NetworkConfig::recv[From : Location + Show + Hash, To : Location + Show + Hash, T : ToJson + FromJson](self : NetworkConfig, from : From, to : To) -> Tfn NetworkConfig::run[L : Location + Show + Hash, T](self : NetworkConfig, loc : L, computation : (Unwrapper[L]) -> T) -> Ttype Unwrapper[_]fn condition[L : Location + Show + Hash](self : ChoreoContext, loc : L, c : Located[Bool, L]) -> Boolfn run[L : Location + Show + Hash, T](self : NetworkConfig, loc : L, computation : (Unwrapper[L]) -> T) -> Tfn run_choreo[T, L : Location + Show + Hash](config : NetworkConfig, choreography : (ChoreoContext) -> T, role : L) -> T