结合绑定和返回

Cli*_*ton 3 haskell

考虑:

x `f` y = x >>= (return . y)
Run Code Online (Sandbox Code Playgroud)

这个功能f看起来很相似,<$>flip liftM,但<$>似乎并没有工作,我不得不定义中缀运算符flip liftM,使它看起来不错,我假设一个已经存在?

有没有我所描述的功能,它是什么?

Tom*_*lis 7

它是flip liftM,但不是<$>.它也几乎完全相同flip <$>,但后者是Functor类型类,而不是Monad.(在最新的标准库中,Functor和之间的关系Monad还没有反映在类型类层次结构中,但它会是).

如果您想查找定义的位置,请转到FP Complete的Hoogle,输入您要查找的类型

Functor f => f a -> (a -> b) -> f b
Run Code Online (Sandbox Code Playgroud)

并发现它是在镜头中定义的.