F# Regressions affecting F#+
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 25/100
- Issue 类型
- 缺陷
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 领域
- compilers
调研方向
首先使用 F# 9 编译所列出的 docsrc 示例,然后检查 Extensions/Observable.fs 和 Extensions/AsyncEnumerable.fs,以查找报告中的失败。检查其余示例以及 Tests 和 TypeLevel 项目;完成的标准是生成一份完整且可复现的 F# 9 回归问题清单。
由索引模型根据 Issue 内容生成。
描述
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
- 主要语言
- F#
- 星标
- 942
- 派生
- 106
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
fsprojects/FSharpPlus 的其他 Issue
-
难度 5/5 一周以上 新手友好度 35/100
fsprojects/FSharpPlus#683 · 1 条评论 · 2 个 reaction ·
-
bug
难度 3/5 1-2 天 新手友好度 35/100
fsprojects/FSharpPlus#678 ·
-
难度 5/5 一周以上 新手友好度 35/100
fsprojects/FSharpPlus#644 ·
-
breaking change F#+ v2.0
难度 4/5 3-5 天 新手友好度 30/100
fsprojects/FSharpPlus#643 ·
-
breaking change F#+ v2.0
难度 3/5 1-2 天 新手友好度 35/100
fsprojects/FSharpPlus#641 ·
查看 fsprojects/FSharpPlus 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
jaseci-labs/jac#9934 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
rescript-lang/rescript#8763 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 85/100
-
难度 2/5 1-3 小时 新手友好度 62/100
flagos-ai/FlagTree#1344 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复