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>])|];
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:
SeqT.lisftsee below more examples of this error.F#+ examples broken:
CEs:
FSharpPlus/docsrc/content/computation-expressions.fsx
Lines 120 to 127 in 1f0fc12
Fails both when using F#+ nuget and when using F#+ compiled with F#9.
More information: The
formethod of themonad.fxbuilder is compiled as follow:SeqT:
FSharpPlus/docsrc/content/type-seqt.fsx
Lines 70 to 77 in 1f0fc12
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
FSharpPlus/docsrc/content/type-seqt.fsx
Line 147 in 1f0fc12
Alternatives:
FSharpPlus/docsrc/content/abstraction-alternative.fsx
Line 114 in 1f0fc12
Using F#+ compiled with F#9 ->
abstraction-alternative.fsx(114,24): error FS0001: The type 'string option list' does not support the operator 'choice'FSharpPlus/docsrc/content/abstraction-alternative.fsx
Line 128 in 1f0fc12
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 constraintsBitraversable:
FSharpPlus/docsrc/content/abstraction-bitraversable.fsx
Line 87 in 1f0fc12
abstraction-bitraversable.fsx(87,37): error FS0043: No overloads match for method 'Bisequence'.Misc:
FSharpPlus/docsrc/content/abstraction-misc.fsx
Line 47 in 1f0fc12
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:
FSharpPlus/docsrc/content/abstraction-monad.fsx
Line 346 in 1f0fc12
abstraction-monad.fsx(346,16): error FS0001: The type ''a list' does not support the operator 'choice'Profunctor:
FSharpPlus/docsrc/content/abstraction-traversable.fsx
Lines 110 to 113 in 1f0fc12
FSharpPlus/docsrc/content/abstraction-profunctor.fsx
Line 107 in 1f0fc12
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'.FSharpPlus/docsrc/content/abstraction-profunctor.fsx
Line 109 in 1f0fc12
`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:
FSharpPlus/docsrc/content/abstraction-traversable.fsx
Lines 110 to 113 in 1f0fc12
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 constraintsZipApplicative:
FSharpPlus/docsrc/content/abstraction-zipapplicative.fsx
Line 139 in 1f0fc12
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