可能重复:
柯里化减法
我开始了我的第一个 haskell 项目,它不是从教程开始的,当然我偶然发现了最简单的东西。
我有以下代码:
moveUp y = modifyMVar_ y $ return . (+1)
moveDn y = modifyMVar_ y $ return . (-1)
我花了一些时间来理解为什么我的代码无法编译:我使用了 (-1),这被视为负数。将减号括起来并没有帮助,因为它是它的前缀并使 1 成为它的第一个参数。
简而言之,这个免费版本是什么?
dec :: Num a => a -> a
dec x = x - 1