The way I was trying to bring Rust into this (but failed), was to point out
that I think the need for (b) is a bit of what caused them to (eronously)
remove their GC -- because they wanted libraries to be built which did not
require GC. Another alternative may have been to make a specific module
directive required to use operations which require GC, and then encode those
promises in exports to achieve (a).

 

 

I don't think this is the reason .. in rust most of the devs are C++ and C (
though the guy who was doing the stdlib also did the javascript one) and so
far they havent used the GC in the libs at all..  Now obviously standard
libs tend to have short lived objects . They do realize that libs with long
lived objects and eventing libs will need ref counting and gc but they do
that now with C++ so , you can remove all those ugly @pointers from the
language , make all  pointers local/region and use an external lib. 

 

Personally I think the compiler can infer what is needed most of the time (
local or long lived) and you can use a specific syntax when needed ( eg
define on an interface that is publically visible) .  

_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to