一直在研究函数式程序优化,一直在挖掘GHC源码。 我(大部分)理解 eta 缩减和 eta 扩展是什么。 Eta 减少仅删除多余的 lambda: \x -> abs x => abs Eta 展开与 eta 减少相反,并执行以下操作(如果我不正确,请纠正我): abs => ...
一直在研究函数式程序优化,一直在挖掘GHC源码。 我(大部分)理解 eta 缩减和 eta 扩展是什么。 Eta 减少仅删除多余的 lambda: \x -> abs x => abs Eta 展开与 eta 减少相反,并执行以下操作(如果我不正确,请纠正我): abs => ...
为什么f可以在预期 function 值的地方使用,即使它本身不是 function 值? ...
当我意识到我的 IDE 指出了一个类型差异时,我正在使用多个可能的 arguments 创建一个构造函数: 所以我试着通过col function。 它有效,然后,试图理解为什么,我最终得到: So I found out that passing an anonymous function t ...
有没有办法指定我想要应用eta 扩展的方法的签名? 例如: 抛出编译错误: 顺便说一句: eta 扩展是使用_的正确术语吗? ...
我是 Scala 的新手。 刚听过“eta扩展”这个词,大致知道是将方法扩展为函数对象的意思。 但是我在 SO 中发现很少有资源可以系统地介绍它。 我很好奇 eta 扩展在 Scala 中是如何工作的。 需要eta扩展的场景有哪些? 以及如何在 Scala 中实现eta 扩展? 我大致知道在这种 ...
鉴于: 我可以用它来调用它: 这是部分应用的奇怪行为: 立即评估代码块而不作为函数传递。 上述两个陈述有什么区别? ...