Remix.run Logo
Jtsummers 5 days ago

> I'm not aware of any language that lets you serialize a whole call stack.

That's basically what continuations provide. Scheme, SML, and others provide them.

LegionMammal978 5 days ago | parent [-]

Continuations allow an inactive call stack to sit around in memory. But do any of those languages let you save a continuation to a file and resume it in a different execution of the program, without massive contortions to the code? That's what I mean by serialization.

kmicinski 5 days ago | parent [-]

Seems potentially interesting to explore what would be required to store durable continuations. Feels very related to incrementalization and provenance, as you can see materializing a continuation to disk (whatever storage backend) requiring dependence tracking to do anything other than simply snapshotting the whole program state. I am just spitballing though, not sure if anyone has actually tried this.