【发布时间】:2015-03-31 05:40:05
【问题描述】:
A previous question 讨论了如何将 Haskell 表达式 ap zip tail 的类型转换为 \x -> zip x (tail x) 的类型。这很有启发性,但是那里的问题和答案都没有涉及 why 前一个表达式给出与后一个表达式相同的结果,只是它们的类型是等价的。据我所知,这可能意味着\x -> zip x (tail (tail x))。
我尝试阅读ap 的文档,但一无所获。如何阅读 ap 以了解 ap zip tail 给出与 \x -> zip x (tail x) 相同的结果?
【问题讨论】:
-
如果您想知道如何找到自己:首先搜索它:haskell.org/hoogle/?hoogle=ap 您发现您最有可能使用 monad 实例,因此请查看
Monad:hackage.haskell.org/package/base-4.8.0.0/docs/… 看看您是否可以在下面找到正确的实例(这里是Monad ((->) r))-希望有一个指向源代码(hackage.haskell.org/package/base-4.8.0.0/docs/src/…)的链接,瞧(也可以查看ap的源代码:hackage.haskell.org/package/base-4.8.0.0/docs/src/…)
标签: haskell