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

Reply via email to