【发布时间】:2014-07-24 22:50:36
【问题描述】:
在下面的代码中,我修改了第一个 LET 语句,以便可以将中缀运算符写为前缀函数。我想对应用运算符 做同样的事情,但无法让它编译。如果您想将此运算符视为前缀函数,那么放置此运算符的正确位置在哪里?
module Main(main) where
import Data.Functor
import Control.Applicative
main = do
let y = add <$> (Just 1) <*> (Just 2)
print y
-- Turn <$> into a prefix operator
let y = (<$>) add (Just 1) <*> (Just 2)
print y
--How do I turn <*> into a prefix operator
--???
add x y = x + y
【问题讨论】:
-
let y = (<*>) ((<$>) add (Just 1)) (Just 2)但如果你能向我们展示你尝试过的东西会很好,这样我们就可以用它来解释问题。