mul (add 2 3) 5
点(.
)和美元($
)运算符可以单独替换括号吗?
mul
和add
函数是填充符,即应用程序的顺序必须保持不变。
这是为了更好地理解上述操作员的练习。
答案 0 :(得分:1)
您可以使用组合子flip
来反转参数的顺序。以下每一行都是等效的:
mul (add 2 3) 5
(flip mul) 5 (add 2 3)
flip mul 5 $ add 2 3
flip
被定义为:
flip :: (a -> b -> c) -> (b -> a -> c)
flip f b a = f a b
但是,我认为仅仅两个运营商.
和$
就足够了
答案 1 :(得分:0)
您可以使用mul的代数属性:
mul 5 $ add 2 3