这个功能可以实现吗?

这个功能有没有实现?

foo :: (Monad m, Monad n) => m a -> n a -> (a -> a -> a) -> m (n a)
foo x y f = ...
最佳答案
是的,它可以被赋予更一般的类型.

foo :: (Functor f, Functor g) => (a -> b -> c) -> f a -> g b -> f (g c)
foo f fx gy = fmap (\x -> fmap (f x) gy) fx

转载注明原文:这个功能可以实现吗? - 代码日志