【发布时间】:2016-10-06 14:32:29
【问题描述】:
根据 Hoogle 的说法,<=<(Kleisli monad 组合,或“左鱼”)和=<<(反向 monad 绑定)的固定性是 infixr 1。如果我没看错的话,像这样的表达,说
print <=< return =<< return "foo"
应该是无效的,因为它等同于同样无效的
print <=< (return =<< return "foo")
但由于某种原因,虽然第一个表达式在 Haskell 中似乎无效,但正如预期的那样,弗雷格似乎没有抱怨,并在 =<< 之前评估 <=<。
当我在 pointfree.io 上搞砸以弄清楚如何制作类似的东西时,我发现了这一点
foo >>= (bar <=< baz)
点免费,它给了我
bar <=< baz =<< foo
考虑到问题,这看起来不太正确。
【问题讨论】:
标签: haskell operator-precedence frege