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?
-
-
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 -
Replying to @cmuratori @Enichan and
Or, stated alternately, "this is an easy problem if you aren't object-oriented, and a potentially impossible one if you are."
1 reply 1 retweet 1 like
And it looks like this discussion has now spilled over to https://discord.gg/VMU3dy7 :)
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.