On Aug 26, 2013 10:44 PM, "Jonathan S. Shapiro" <[email protected]> wrote:
>
> David (I think) asked how BitC would be different from C#. On reflection,
that's an interesting question. Given that I think BitC needs a single
inheritance object system, it does start to look a bit like C#. So here's
an attempt to answer David's question. If I were king of the universe, what
would C# 6.0 have?
>
> 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.
>
> 2. Attributes on local variables.
>
> 3. Attributes on types, not just on variables. With this, and a very
little bit of attribute algebra, effects could be encoded as attributes and
effect propagation could be user defined.
>
> 4. A proper region typing system
>
> 5. readonly properly enforced, plus shallow and deep readonly.
>
> 6. Type classes, to be used as WHERE constraints
>
> 7. Nat kind and associated kind classes, as introduced in Habit
>
> 8. Top-level functions (this is just a sugaring change).
>
> 9. Closures (as opposed to delegates)

Could you expand on this distinction?

My primary ask about delegates would be to have them as value types.

>
> 10. Direct support for immutable types and effect-free code.
>
>
> Probably more, but that's my initial list.
>
> _______________________________________________
> bitc-dev mailing list
> [email protected]
> http://www.coyotos.org/mailman/listinfo/bitc-dev
>
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to