F# Regressions affecting F#+
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Domain
- compilers
Research direction
Start by compiling the named docsrc examples with F# 9, then inspect Extensions/Observable.fs and Extensions/AsyncEnumerable.fs for the reported failures. Check the remaining examples and the Tests and TypeLevel projects; done means producing a complete, reproducible inventory of F# 9 regressions.
Written by the indexing model from the issue text.
Description
With the release of F# 9, lot of regressions are being observed.
The idea is to compile a list as much detailed as possible.
-
F#+ doesn't compiler anymore:
- Errors in Extensions/Observable.fs and Extensions/AsyncEnumerable.fs related to
SeqT.lisftsee below more examples of this error.
- Errors in Extensions/Observable.fs and Extensions/AsyncEnumerable.fs related to
-
F#+ examples broken:
-
CEs: https://github.com/fsprojects/FSharpPlus/blob/1f0fc122269f5f0a114b8c1d19e3369daf61b0bd/docsrc/content/computation-expressions.fsx#L120-L127
Fails both when using F#+ nuget and when using F#+ compiled with F#9.
More information: Theformethod of themonad.fxbuilder is compiled as follow:in F#9 comp F#+ ==> Monad<unit> For$W[a,T,Monad<unit>](FSharpFunc`2[FSharpFunc`2[Unit,Monad<unit>],Monad<unit>], FSharpFunc`2[Delay,FSharpFunc`2[FSharpFunc`2[Unit,Monad<unit>],FSharpFunc`2[Delay,Monad<unit>]]], FSharpFunc`2[Monad<unit>,FSharpFunc`2[Return,FSharpFunc`2[Unit,Monad<unit>]]], FSharpFunc`2[IDisposable,FSharpFunc`2[FSharpFunc`2[IDisposable,Monad<unit>],FSharpFunc`2[Using,Monad<unit>]]], FSharpFunc`2[Monad<unit>,FSharpFunc`2[FSharpFunc`2[Unit,Monad<unit>],Monad<unit>]], a, FSharpFunc`2[T,Monad<unit>])|]; in existing F#+ ==> Monad<unit> For$W[a,T,Monad<unit>](FSharpFunc`2 [Delay,FSharpFunc`2[FSharpFunc`2[Unit,Monad<unit>],FSharpFunc`2[Delay,Monad<unit>]]], FSharpFunc`2[Monad<unit>,FSharpFunc`2[Return,FSharpFunc`2[Unit,Monad<unit>]]], FSharpFunc`2[IDisposable,FSharpFunc`2[FSharpFunc`2[IDisposable,Monad<unit>],FSharpFunc`2[Using,Monad<unit>]]], FSharpFunc`2[Monad<unit>,FSharpFunc`2[FSharpFunc`2[Unit,Monad<unit>],Monad<unit>]], a, FSharpFunc`2[T,Monad<unit>])|]; -
SeqT: https://github.com/fsprojects/FSharpPlus/blob/1f0fc122269f5f0a114b8c1d19e3369daf61b0bd/docsrc/content/type-seqt.fsx#L70-L77
Fails with `type-seqt.fsx(74,61): error FS0001: 'SeqT_V2.SeqT.lift' does not support the type 'Async', because the latter lacks the required (real or built-in) member 'Map'``Same failure in https://github.com/fsprojects/FSharpPlus/blob/1f0fc122269f5f0a114b8c1d19e3369daf61b0bd/docsrc/content/type-seqt.fsx#L147
-
Alternatives:
- https://github.com/fsprojects/FSharpPlus/blob/1f0fc122269f5f0a114b8c1d19e3369daf61b0bd/docsrc/content/abstraction-alternative.fsx#L114
Using F#+ compiled with F#9 ->abstraction-alternative.fsx(114,24): error FS0001: The type 'string option list' does not support the operator 'choice' - https://github.com/fsprojects/FSharpPlus/blob/1f0fc122269f5f0a114b8c1d19e3369daf61b0bd/docsrc/content/abstraction-alternative.fsx#L128
abstraction-alternative.fsx(128,22): error FS0071: Type constraint mismatch when applying the default type 'obj' for a type inference variable. None of the types 'Async<(string list -> string list)>, obj' support the operator '<*>' Consider adding further type constraints
- https://github.com/fsprojects/FSharpPlus/blob/1f0fc122269f5f0a114b8c1d19e3369daf61b0bd/docsrc/content/abstraction-alternative.fsx#L114
-
Bitraversable: https://github.com/fsprojects/FSharpPlus/blob/1f0fc122269f5f0a114b8c1d19e3369daf61b0bd/docsrc/content/abstraction-bitraversable.fsx#L87
abstraction-bitraversable.fsx(87,37): error FS0043: No overloads match for method 'Bisequence'. -
Misc: https://github.com/fsprojects/FSharpPlus/blob/1f0fc122269f5f0a114b8c1d19e3369daf61b0bd/docsrc/content/abstraction-misc.fsx#L47
abstraction-misc.fsx(47,22): error FS0001: '.Choice' does not support the type 'Result<int,string>', because the latter lacks the required (real or built-in) member 'IsAltLeftZero'(seems to be the same as the one in Alternatives. -
Monad: https://github.com/fsprojects/FSharpPlus/blob/1f0fc122269f5f0a114b8c1d19e3369daf61b0bd/docsrc/content/abstraction-monad.fsx#L346 (same as above)
abstraction-monad.fsx(346,16): error FS0001: The type ''a list' does not support the operator 'choice' -
-
abstraction-profunctor.fsx(107,12): error FS0071: Type constraint mismatch when applying the default type 'obj' for a type inference variable. No overloads match for method 'Map'. -
https://github.com/fsprojects/FSharpPlus/blob/1f0fc122269f5f0a114b8c1d19e3369daf61b0bd/docsrc/content/abstraction-profunctor.fsx#L109
`abstraction-profunctor.fsx(109,12): error FS0071: Type constraint mismatch when applying the default type 'obj' for a type inference variable. No overloads match for method 'Dimap'.
-
-
Traversable: https://github.com/fsprojects/FSharpPlus/blob/1f0fc122269f5f0a114b8c1d19e3369daf61b0bd/docsrc/content/abstraction-traversable.fsx#L110-L113
abstraction-traversable.fsx(110,23): error FS0071: Type constraint mismatch when applying the default type 'obj' for a type inference variable. None of the types '(int list -> int list) list, obj' support the operator '<*>' Consider adding further type constraintsabstraction-traversable.fsx(111,23): error FS0071: Type constraint mismatch when applying the default type 'obj' for a type inference variable. None of the types '(int list -> int list) option, obj' support the operator '<*>' Consider adding further type constraintsabstraction-traversable.fsx(112,23): error FS0071: Type constraint mismatch when applying the default type 'obj' for a type inference variable. None of the types '(int list -> int list) list, obj' support the operator '<*>' Consider adding further type constraintsabstraction-traversable.fsx(113,23): error FS0071: Type constraint mismatch when applying the default type 'obj' for a type inference variable. None of the types '(int list -> int list) list, obj' support the operator '<*>' Consider adding further type constraints -
ZipApplicative: https://github.com/fsprojects/FSharpPlus/blob/1f0fc122269f5f0a114b8c1d19e3369daf61b0bd/docsrc/content/abstraction-zipapplicative.fsx#L139
abstraction-zipapplicative.fsx(139,65): error FS0193: None of the types 'Async<int>, Async<char>, Async<'a>' support the operator 'Zip'
-
Testing is not complete. More errors are expected in Tests and maybe in the TypeLevel project
- Dominant language
- F#
- Stars
- 941
- Forks
- 106
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from fsprojects/FSharpPlus
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
fsprojects/FSharpPlus#683 · 1 comment · 2 reactions ·
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 35/100
fsprojects/FSharpPlus#678 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
fsprojects/FSharpPlus#644 ·
-
breaking change F#+ v2.0
Difficulty 4/5 3-5 days Newbie friendliness 30/100
fsprojects/FSharpPlus#643 ·
-
lens type signature Openbreaking change F#+ v2.0
Difficulty 3/5 1-2 days Newbie friendliness 35/100
fsprojects/FSharpPlus#641 ·
All issues in fsprojects/FSharpPlus
Similar issues
-
mlir
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
llvm/llvm-project#224908 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
area-CodeGen-coreclr untriaged
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
secondlife/sl-vscode-plugin#147 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
objectionary/phie#149 ·