I see that the reference counting Rc library includes weak references but what I’m wondering is if the idea of a weak reference was ever considered for the language itself. I’m thinking specifically about the difficulties in creating self referential structures using what would be considered in other languages as “normal” approaches (I’m a long time C/C++ programmer).
I’m curious to know what types of things were discussed and why they weren’t adopted. I’ve wondered if instead of having all or nothing safe or unsafe code, having just an unsafe/unchecked type (ie. the back reference). Kind of in the same way that root permissions on most OSs are no longer a giant all or nothing hammer and are now decomposed into smaller permissions.