例如,假设我有以下功能:
foo :: Monad f => f a
bar :: Monad f => a -> f b
baz :: Monad f => a -> f c
qux :: Monad f => a -> f d
而且我只想返回qux例如g :: Monad f => f a -> f dwhereg调用的结果bar以及baz它们的副作用。
有没有一种方法可以在g不将每个函数显式应用于结果的情况下进行构造foo?有点类似于(&&&)工作原理,或者(<*>)我想。