5 ms·
How do linear types help in distributed systems - you mention sharing (or not sharing) between threads, but I'm also intensely curious re: reasoning about heter
by sgrove 11y ago
How do linear types help in distributed systems - you mention sharing (or not sharing) between threads, but I'm also intensely curious re: reasoning about heterogeneous networks. Some rambling questions you might be able to shed some light on -
1. How much of a (self-contained vs distributed) system has to be completely written in ATS?
2. How much of the emergent system can be modeled in ATS to take advantage of linear types while letting some other team(s) work in e.g. nodejs
3. What's the onboarding experience like for a dev new to typed systems entirely? How long before they generally grasp the abstract concepts and how to express them? Are there any particularly difficult pieces?
Thanks a ton for sharing your experience! Like Chenglou, I'm very curious about linear logic/session-types/etc., but very new to the domain.
- doublec 11y agoI've not had to do anything distributed with ATS that involved sharing data. I mostly used zeromq to send information around and controlled access to resources via processes. It's a fairly steep learning curve for people new to types. Given exposure to SML it's not too hard to just use that side of things plus linear types. Dependent types and proofs add complexity but hopefully you can avoid it while learning.