Roadmap V2.0
See original GitHub issueI think for V2.0 we can start discussing features here, before moving to a formal project.
What comes to my mind at the moment is:
-
Remove subsumption from Applicatives: Right now
seq
“eats” all custom types implementingseq
-
Same for Traversable, same situation: although this might not require a breaking change (todo find out)
-
Implement IEnumerable for Vectors, now that (1) has to be done.
-
New
ListT
monad transformer, possibly newSeqT
as well, coded using a similar technique as the one used for Free Monads. -
Review computation expressions: autosense will be removed but we have to do something to make it easy for users to understand why a strict monad can’t be used with the non-strict CE. Maybe make compilation fail when calling a TryWith?
-
Add ValueTuple, ValueTask and other latest addition to the framework. We can require a higher framework version
-
Consider suggestions by @dsyme regarding using the return type for type inference.
Am I missing something?
EDIT
-
Better task support (maybe an intermediate type like
Step
with conversions to/from Task and its use in Bind an other methods for task). -
Consistent type parameters order, this would need to swap type parameters in
Validation<'err,'t>
toValidation<'t,'err>
.
Issue Analytics
- State:
- Created 4 years ago
- Reactions:4
- Comments:26 (26 by maintainers)
Top GitHub Comments
I’m a bit ambivalent about splitting the library.
It’s true, some users would like to see the extensions in a separate library, @dsyme for instance told me he likes that part of the library and would love to see it as a separate thing.
Let’s discuss that option in its corresponding issue https://github.com/fsprojects/FSharpPlus/issues/328#issuecomment-704095824 and assume in this discussion that the library will continue as a whole.
To avoid using SRTPs on the result type, unless it’s the only way (ie:
return
,zero
,maxValue
).We can try remove it in other functions, I’m sure it will be a breaking change, so we’ll have to measure the impact and see if it worths.