Munksgaard / session-types

MIT License
550 stars 21 forks source link

Configurable Chan implementation? #62

Open rw opened 4 years ago

rw commented 4 years ago

Are there plans to allow the user to configure the actual transport underneath a Chan? I want to use session types with async/await and in distributed systems. Thanks!

laumann commented 4 years ago

Are there plans to allow the user to configure the actual transport underneath a Chan?

I wouldn't say there are any current plans to do this, but we did discuss it in length back when we first implemented the library.

But I would imagine exposing (or reusing) a trait that must be implemented to configure a custom transport, but I don't really recall why we didn't pursue this. Maybe just priorities.

I want to use session types with async/await and in distributed systems. Thanks!

That sounds really cool! One of the limitations of our kind of session types implementation is that it only captures binary communication, not a system of communicating processes. There are papers discussing how to model multi-party session types, but it gets even more complicated to keep track of the movements in the protocol IMO.