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
