dfe*_*uer 13
或者,请注意功能h和f适当类型,
h >>= f = \w -> f (h w) w
Run Code Online (Sandbox Code Playgroud)
所以你可以写
f >>= (,)
Run Code Online (Sandbox Code Playgroud)
chi*_*chi 11
import Control.Arrow
(g &&& f) v = (g v, f v)
-- ergo,
(id &&& f) v = (v, f v)
(f &&& id) v = (f v, v)
Run Code Online (Sandbox Code Playgroud)
如何使用Applicative实例(->)
liftA2 (,) id :: (a -> b) -> a -> (a, b)
Run Code Online (Sandbox Code Playgroud)
例如
liftA2 (,) id succ 5
>>> (5,6)
Run Code Online (Sandbox Code Playgroud)