我目前正在研究monad和applicative functors之间的联系.
我看到ap的两个实现:
ap m1 m2 = do { f <- m1 ; x <- m2 ; return (f x) }
Run Code Online (Sandbox Code Playgroud)
和
ap m1 m2 = do { x <- m2 ; f <- m1 ; return (f x) }
Run Code Online (Sandbox Code Playgroud)
第二个是不同的,但它会是一个很好的实现<*>吗?
我迷失了证据 pure (.) <*> u <*> v <*> w = u <*> (v <*> w)
我试图直观地说"monad的哪一部分是应用函子"......