这是一个众所周知的成语吗?
applyTwice :: (a -> b -> c) -> (d -> a) -> (d -> b) -> (d -> c)
applyTwice g f1 f2 p = g (f1 p) (f2 p)
这是一个典型的用途:
applyTwice someFunction head tail $ this $ that $ otherThing
在这种情况下,this $ that $ otherThing
会返回一个列表,我想将两者放在该列表的头部和尾部,然后将两端提供给someFunction
。
applyTwice
是一个标准习语,还是有一些更自然的方法可以同时获取复杂计算结果的头部和尾部?仅使用where
标准方法来执行此操作吗?
答案 0 :(得分:5)
不仅仅是liftM2
吗?