How's the progress in garbage-collecting unused functions?

There has essentially been no progress on that for a long time. It is a low priority item.

At some point I made a sketch for how we could get there, but it comes with a semantic limitation.

Functions and methods are partitioned by world ages. So if we could prove that a world age has become unreachable we could prune methods (and everything else is just figuring out the mechanics of unloading code)

But world ages are just UInt right now… So people can store them and then use invoke in world to jump across time…

One avenue might be to turn world age into an opaque GC tracked token.

Right now it doesn’t seem worthwhile in terms of complexity and costs

8 Likes