Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API

From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
I don't think this one applies to GC'd languages, but I'm pretty sure it applies to C-likes.
-
@jestdotty I'm familiar, I don't think it applies here. The main problem is that foreign code is allowed to enumerate the member list of modules so there must be a reference to the tree, but the concrete values of constants are what keeps the foreign code objects alive, so the tree cannot reference the constants.
It would be possible to build the relationship differently, for example, foreign code doesn't have to be able to keep the tree alive, but I've decided that dealing with the complexity of a weak reference in the interpreter is preferable because there's expected to be a lot more foreign code.
Related Rants
do you ever separate the structure of a collection from the values held within to allow queries about the structure to be deferred arbitrarily without keeping the values alive through that reference, or is my project just terminally fucked?
rant
orchid
lazy evaluation
ref cycles