4 ms·
Lasp can't support this yet, but we're moving towards this direction. We've build a highly-available membership library called partisan, and the next step is t
by cmeiklejohn 9y ago
Lasp can't support this yet, but we're moving towards this direction. We've build a highly-available membership library called partisan, and the next step is to make it so we can basically do this type of work inside of something like OTP with normal messaging. However, it's not trivial because Erlang doesn't allow us to trivially include metadata in our messages, like something like Microsoft Orleans does (this is how we transparently added transactions into Orleans without changing user semantics, by transparently augmented the message during transmission.)
- cmeiklejohn 9y agoRight now, everything is manual and requires explicitly passing metadata between messages -- this is less than ideal and we're hoping to have some sort of facility where we can do this transparently in Erlang -- a la parse_transformation or similar, where we can thread either a causal context or session context through to make certain types of guarantees. If this is interesting, we've love to talk to you to learn more about how we could bring this to reality in a real application.
- shalabhc 9y agoMy interest in this is atm is research oriented. I do feel LASP is a great project and I'd like to see more work in this area because I believe there is a general lack of distributed programming systems which abstract away an entire network of computers. I believe that is where the future lies - we do not want to be programming one OS process at a time and use a disparate array of containers, while building very large and complicated systems. Passing through a causal context seems like a good idea. I'm not that familiar with Erlang but perhaps it doesn't have to be fully transparent? I presume there is a subset of processes that would participate in the distributed implementation and each could be encapsulated by another LASP process that wraps/unwraps messages as they go out/in and handles the metadata? Btw, some related ideas exist in Croquet/TeaTime as well (http://www.vpri.org/pdf/tr2003001_croq_collab.pdf http://www.vpri.org/pdf/tr2003001_croq_collab.pdf)