On Mon, Aug 26, 2013 at 10:43 PM, Jonathan S. Shapiro <[email protected]>wrote:
> 1. Fixed-size arrays in the safe language subset. The fact that the *fixed > * keyword is unsafe is just plain irredeemably stupid. I'm told that > fixed arrays were planned for CLR 1.0, didn't make the cut, and were > dropped. It's time. Oh. They shouldn't be limited to non-reference types > either. > It is an odd omission. Would you place them directly into records with no indirection, such that each generic sized-array parameter would need it's own parametric instantiation? > 4. A proper region typing system > What does this mean in the context of shared-memory-threading? Or would it only be for single-threaded apartments? > 6. Type classes, to be used as WHERE constraints > Sounds nice. Do you intend them to be usable as where constraints for any type specification or just for generic parameters? ...my list: 11. some form of "const/readonly" modifier for parameters, as opposed to fields. 12. type-checked typedefs 13. explicitly non-escaping "borrowed" delegates, and efficient iterators exposing value-types byref, to avoid copying 14. better model for struct-properties. copyless read or read/write access to structs during getter/setter. Perhaps borrowed delegates with ref-const or ref parameters, or something fancier. 15. extension methods with byref this parameters (VB.NET has it), to support value-type extension methods 16. use typedef or unsafe-struct-* to make different types of IntPtrs harder to confuse (more a library thing than a language thing) 17. some form of static metaprogramming over language types... such as a loop over the fields of a struct which is compile-time instantiated, rather than using runtime reflection.
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
