3 ms·
That means you are not able to interrupt your state machine easily, or to serialise its state. That might be OK in a lot of cases, but not all.
by user-the-name 6y ago
That means you are not able to interrupt your state machine easily, or to serialise its state. That might be OK in a lot of cases, but not all.
- hderms 6y agoSeems like trampolining would be useful to make it interruptible while still mostly preserving the ergonomics of viewing state transitions as procedure calls
- klibertp 6y agoFunction objects, including closures, can be serializable - they are in Erlang/Elixir. You can send a lambda/closure over to another node (on another machine) to execute. It's actually one of the basic building blocks of OTP.
- user-the-name 6y agoI assume this only works if the functions are exactly the same. It would break between different versions?
- rad_gruchalski 6y agoIt depends. It’s possible to provide a mechanism to switch versions but as it very often is: there are dragons.
- dragonwriter 6y agoSerializable closures (even serializable continuations) are available in a number of languages, including probably most often ones which also have TCO.