Well we're on the way! With caveat you can't use a Judy array
or anything with a custom scanner yet, we can now find
the pointer closure of a given pointer:
//
var li = list("hello","my","World");
var pts = Serialise::find_closure li.C_hack::cast[address];
println$ pts;
var li
I'm now writing code that, given a pointer to an object (or several) finds the
transitive closure of all pointers.
The idea is the encoder routine is given a pointer and finds the transitive
closure then serialises all those objects (into a single string).
The decoder deserialises them, keeping t