[WORK IN PROGRESS] More Reliable Trace Serialization#369
[WORK IN PROGRESS] More Reliable Trace Serialization#369georgematheos wants to merge 9 commits intoprobcomp:masterfrom
Conversation
|
A few more TODO reminders:
|
|
@georgematheos Great! When you get a chance, can you also document how a user can ensure their custom generative function trace (and traces of any e.g. DML or SML functions that invoke it) is serializable? E.g. should they implement a custom serialize method for it, or is there another intended way? Or, if that's out of scope, that's fine to document too. |
|
@marcoct this is now ready for review. During review, could you please look at:
A possible shortcoming of the current testing suite is that it does not simulate the process of saving a trace, quitting a Julia session, and then reloading the trace. It just serializes and deserializes into IOBuffers in RAM -- but it is possible that there are errors relating to the loaded Julia environment changing that this would not catch. Perhaps a better test suite would actually launch a new Julia process to deserialize a trace in. To confirm that things work, I manually serialized a static DSL trace, then deserialized it in a fresh Julia session; it worked. |
Here's some progress on #129 from the hackathon. Some more debugging work is needed, as well as writing a bit of documentation.
The tests appeared to be passing when I ran them last, but I think there are still bugs to fix which they are not catching.
The 2 main issues I have in mind:
DefaultSTs instead of usingGenericSTs. (If this is true, the intended mechanism for static trace serialization is untested.)