Cli*_*ton -6 haskell functor function-composition applicative
请执行功能:
composeApplicative :: (Applicative f) => f (b -> c) -> f (a -> b) -> f (a -> c)
Run Code Online (Sandbox Code Playgroud)
这样:
(composeApplicative f g) <*> x == f <*> (g <*> x)
Run Code Online (Sandbox Code Playgroud)
或者,解释为什么不能这样做?
可以办到:
composeApplicative p q = (.) <$> p <*> q
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请阅读Applicative仿函数的文档,更具体地说,阅读组合法.它实际上是一个声明,任何Applicative实例,composeApplicative f g <*> x必须始终等于f <*> (g <*> x).
作为次要技术说明,在进行等式推理时,方程的左侧和右侧必须用单个等号(=)分隔.double-equals sign(==)保留用于可判定的运行时相等性检查.
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |