Eric: I think the idea is to be able to pass a delegate D to a function F, have F invoke D, and be able to know that the entire call to F is effect-free. So effects on delegates are really just a reflection of the need for effects on procedures and methods generally.
On Tue, Aug 27, 2013 at 7:43 AM, Eric Northup <[email protected]> wrote: > > 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 > >
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
