我在一个小项目上运行HLint,它建议我使用 &&&。
例子 :
>>> cat st.hs
f = (+) 10
g = (+) 1
main = print $ (\x -> (f x, g x)) 5
>>> hlint st.hs
st.hs:4:17: Warning: Use &&&
Found:
\ x -> (f x, g x)
Why not:
f Control.Arrow.&&& g
1 suggestion
我理解这\x -> (f x, g x)
是一种模式并欣赏这个建议。但是Control.Arrow.&&&
不采用普通功能而是箭头,所以我不能&&&
按照建议使用。
那么在这种情况下推荐的方法是什么?
- 在函数上定义我自己的
&&&
运算符? - 使用箭头并做类似的事情,
(arr f) &&& (arr g)
但我什至不知道如何评估它? - 在那个特定的场合忽略Hlint。?