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

Reply via email to