可能是重复问题:
柯里化减法
我开始我的第一个Haskell项目,这不是从教程中学来的,当然我会在最简单的事情上犯错。
我有以下代码:
moveUp y = modifyMVar_ y $ return . (+1)
moveDn y = modifyMVar_ y $ return . (-1)
我花了一些时间才明白为什么我的代码无法编译:我使用了“(-1)”,这被视为负数。括号不能帮助解决问题,因为它会将减号作为前缀,使得数字1成为第一个参数。
简而言之,这个代码的point-free版本是什么?
dec :: Num a => a -> a
dec x = x - 1