Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FSharp.Core planning note #232

Closed
dsyme opened this issue Nov 16, 2017 · 5 comments
Closed

FSharp.Core planning note #232

dsyme opened this issue Nov 16, 2017 · 5 comments

Comments

@dsyme
Copy link
Contributor

dsyme commented Nov 16, 2017

The visualfsharp repo has a couple of pull requests for FSharp.Core. Before pulling these we wanted to pause for a moment and look at where we are with planning future additions, and get full community visibility and input on next steps.

Please discuss. Relevant resources are:

Proposal: 4.4.3.0 tactical release

It is proposed by @KevinRansom that we do a version 4.4.3.0 tactical release of FSharp.Core with at least the two PRs:

This seems reasonable. @KevinRansom would also like to publish incremental updates more frequently in the future (Again reasonable).

On the Slate

  1. The top actionable requests are

    a. add “task { … }”
    b. add more immutable collections
    c. improve interoperability with C#

  2. Additional approved items of note:

    a. string module enhancements
    a. Deprecate the default definition of (!) and ask users to use .Value instead or use a compat module
    b. Seq/Array/List.transpose

New requests:

Noting these requests not yet tracked by suggestions:

  1. Result module of useful functions
  2. option { … } and result { … } computation expressions
  3. AsyncResultCell (“TaskCompletionSource but for Async”)
@ijsgaus
Copy link

ijsgaus commented Nov 16, 2017

When we can see strategical release? Or at least a strategical plan? Can we hope be a most feature-oriented language in .net? @dsyme - you implement type classes at least two years ago. We must wait when C# realize it?

@ForNeVeR
Copy link
Contributor

ForNeVeR commented Nov 17, 2017

@ijsgaus while I sympathize to your suggestion about more open "strategical" planning, I don't think it's the proper place to discuss it. Here we're talking about FSharp.Core release, and the list Don mentioned is about FSharp.Core library additions / changes. It's not about language (or ecosystem for that matter) evolution.

Although I'm not sure where we, the community, should discuss the language evolution strategy. Probably @cartermp could tell?

@cartermp
Copy link
Member

This repository, but not this issue, is a potential place. But I'm not sure what would be gained by such a discussion. Evolution is a straightforward and well-defined process:

  1. Suggestion made.
  2. Discussion had.
  3. Approval given, if the suggestion seems good enough.
  4. RFC drafted.
  5. RFC discussed and revised based on feedback from others.
  6. Implementation started.
  7. Feedback loop with changes in the implementation, and RFC as needed.
  8. Once the implementation is of acceptably high quality, it is merged.
  9. After a bundle of features are merged, and they make sense together, a new version is declared.

I don't see this process changing much.

@wallymathieu
Copy link

Having option and result computation expressions in core would be nice. @jack-pappas has done some work that perhaps could reused (as pointed out by @vasily-kirichenko) : ChoiceBuilder (since it's basically a computation expression implementation for Result)

@cartermp
Copy link
Member

cartermp commented Jul 9, 2018

Closing old discussion - we've shipped a few FSharp.Core releases since now, and we're working towards what a 5.0 release of the library and language would look like on a per-feature basis, which I would expect in the fslang-suggestions repo

@cartermp cartermp closed this as completed Jul 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants