Here is another idea: The stdlib uses `owned` everywhere but you can opt-out by 
a new builtin called `system.lose` ("lose" the ownership). When you lose the 
ownership you can use `ref` just like today, but "lost" objects need to be 
recovered by the GC. `system.lose` thus might trigger a GC run.

It could be an error/warning to lose an object that has a destructor that deals 
with non-memory resources (file handles, etc.). Perfect interop between both 
worlds, no language split.

But of course, it's only a rough idea. 

Reply via email to