Hi Brad,
    Thanks for the quick reply!

    I mostly like your prioritized list. Chapel shouldn't leak any memory,
so I'm glad that's up there front and center. Kotlin and Swift are
exploring ideas for handling nil that Chapel can steal or adapt, so I'm
glad that's there too.

    I'd certainly like to see some kind of interface/concept/trait in
Chapel; as you observe, they're likely to change the way libraries are
written.

    I'm looking forward to what you come up with in 2019!

-- Brian



On Mon, Jan 7, 2019 at 9:31 PM Brad Chamberlain <[email protected]> wrote:

> Hi Brian —
>
>
> Constrained generics are definitely intended as part of Chapel's
> (hopefully not-too-distant) future, but have not made it to the top of the
> list as of yet.  In prioritizing what to work on for any given release, we
> try to focus on those features and changes that we believe would make
> current and "on-deck" users (including ourselves) most productive based on
> their feedback and input; what we think would permit us to attract more
> users; and those features that are most likely to result in breaking
> changes if put off.  So far, constrained generics haven't been cited as a
> must-have feature for the first group, though we'd like it for our own
> sanity and to minimize (potential / likely) changes to libraries once
> they're in the language.  I'd like to think that we'll spend time on them
> in 2019, if not finish them, but I'm historically terrible at predicting
> the future, and some other nagging issues have dragged on longer than hoped
> (initializers, error-handling, managed classes, nil-checking).  I could say
> more about challenges we've had getting to them before now, but will stop
> here for the time being.
>
>
> The best way to get a sense of what we're focused on for any six-month
> period is to take a look at the "proposed priorities" slides in the release
> notes from the previous release.  For example, the current stretch for our
> upcoming March release is characterized by these notes:
> https://chapel-lang.org/releaseNotes/1.18/08-priorities.pdf  As you'll
> see, constrained generics are on the "other priorities" slide in this deck
> in the "big ticket" category which tends to mean that if the right
> developer(s) get free of their current top priorities, this is something
> we'd likely try to have them work on.  That said, we use an agile
> development process, and get new data from users throughout the release
> cycle, so think of this as a statement of intention and hope rather than
> any kind of firm commitment (in either direction... i.e.,  input from
> someone like you could influence the decisions as well).
>
>
> UFCS has been brought up from time-to-time with Chapel, but hasn't had a
> strong (enough) champion to get any significant headway to date.  I have to
> admit to being a bit hesitant about adding it, but must admit that that
> comes from a position that's partly ignorant of the tradeoffs and partly
> due to viewing it as being contrary to the K.I.S.S. principle (i.e., Chapel
> is pretty feature-rich as it is, so these days I tend to look for things to
> leave out rather than bring in).
>
>
> Thanks for your questions and interest in Chapel,
>
> -Brad
>
>
> ------------------------------
> *From:* Brian Rogoff <[email protected]>
> *Sent:* Monday, January 7, 2019 8:54:06 PM
> *To:* [email protected]
> *Subject:* Constrained generics?
>
> Hi Chapelers,
>     One of the things I miss in Chapel from (Rust/Java/Scala/...) is a way
> to constrain my generic types. I know this feature is coming to C++ 20 via
> concepts; how about Chapel? I see it has been considered here
> https://github.com/chapel-lang/chapel/blob/master/doc/rst/developer/chips/2.rst
> but I haven't seen any mention of it on lists of future language updates.
>
> <https://github.com/chapel-lang/chapel/blob/master/doc/rst/developer/chips/2.rst>
> chapel/2.rst at master · chapel-lang/chapel · GitHub
> <https://github.com/chapel-lang/chapel/blob/master/doc/rst/developer/chips/2.rst>
> github.com
> a Productive Parallel Programming Language. Contribute to
> chapel-lang/chapel development by creating an account on GitHub.
>
>
>     Is there a list of the planned changes for Chapel somewhere? I can see
> the hundreds long "Feature Request" and "Language" labels in Github issues,
> but that's not the same as a "What can we expect in 2019" list.
>
>     As long as I'm asking, has UFCS* ever been considered for Chapel?
>
> -- Brian
>
> * https://en.wikipedia.org/wiki/Uniform_Function_Call_Syntax
>
_______________________________________________
Chapel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-users

Reply via email to