HLint: используйте &&& совет рекомендации
Я запустил 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)
но я даже не знаю, как это оценить? - игнорировать Хлинта в этом конкретном случае.