fsharp 编译器是否将冗余函数组合减少为空操作?

Does the fsharp compiler reduce redundant function compositions to null operations?

fsharp 编译器是否会生成以下表达式的任何代码?

let xs = List.rev <| List.rev xs

不,不是。您可以查看 sharplab 上的输出 IL 以验证它将发出什么。

您可以阅读 F# 编译器执行的代码优化类型 here。它使用不同的技术优化了几件事,其中一些比其他的有更好的记录。