microsoft / verona-rt

The runtime for the Verona project
MIT License
25 stars 14 forks source link

Yielding Behaviours #27

Open marioskogias opened 1 year ago

marioskogias commented 1 year ago

This draft PR enables long running behaviours to yield their execution and let other behaviours run. When a behaviour yields its acquired cowns are not released, thus the causality guarantees are maintained.

A behaviour can yield in two main ways:

The goal of this PR is to serve as a conversation starter on whether such a functionality is interesting for verona and not to be merged as is.

This is work done with Musa Unal (umusasadik@gmail.com)

marioskogias commented 1 year ago

@m8