I feel compelled to point out that the circular references thing was an example of how serialization is more complex than it might initially seems that laypeople could easily understand, not something I believe is somehow unsolved or unsolvable
-
-
Well, I suppose it depends on the perspective, but I'm not sure I see how it affects the complexity of the problem in any way one would ordinarily notice. It is literally just "Slot = Serialize(X);" becomes "if(!Table[X]) {Table[X] = Serialize(X);} Slot = Table[X];" Right?
1 reply 0 retweets 1 like -
Replying to @cmuratori @Enichan and
So I would have expected that, especially today where it seems very rare for people to not use prefab containers (std::*, or built-in things in their language), just adding a single table lookup before processing a struct would not be something they would consider "hard"?
1 reply 0 retweets 0 likes -
I've used a few out of the box serialization packages across a variety of languages over the past 10-15 years that had some... interesting edge cases when it came to circular references
2 replies 0 retweets 0 likes -
What were some of the edge cases?
1 reply 0 retweets 0 likes -
It's been years, I really can't remember but a quick google turns up stuff like thishttps://stackoverflow.com/questions/44887394/pickle-dill-cannot-handle-circular-references-if-hash-is-overridden …
1 reply 1 retweet 0 likes -
Yikes :) That gets back to what Jon was saying, namely that it is difficult (or impossible) to serialize code as opposed to data. I'd assume there is some kind of halting-problem-proof where you can demonstrate that it is impossible to guarantee serialization of arbitrary code...
1 reply 0 retweets 2 likes -
Yup, which is kind of what I was trying to explain to people who don't know anything about this stuff. You can't just "save" your in-memory object graph to disk without doing something to it to transform it into pure data first, ...
1 reply 0 retweets 0 likes -
Replying to @Enichan @cmuratori and
and even though that seems like it'd be extremely straight forward to automate it's trickier than you'd think. I probably could've chosen a better example but it was the first that came to mind and I didn't wanna turn a 16 tweet thread into 30 >_>
1 reply 0 retweets 0 likes -
Well, and to be clear, my point with the 2002 serialization was that C serialization was a solved problem two decades ago. It isn't circular references or any other complexity of the graph that's the problem, it's the "OOP"-ness where code is fused with the data.
2 replies 0 retweets 1 like
Or, stated alternately, "this is an easy problem if you aren't object-oriented, and a potentially impossible one if you are."
-
-
Replying to @cmuratori @Enichan and
And it looks like this discussion has now spilled over to https://discord.gg/VMU3dy7 :)
0 replies 0 retweets 0 likesThanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.