Что эквивалентно (+1) для вычитания, поскольку (-1) рассматривается как отрицательное число? [Дубликат]
Возможный дубликат:
Вычитание карри
Я начал свой первый проект на Haskell, который не из учебника, и, конечно, я наткнулся на самые простые вещи.
У меня есть следующий код:
moveUp y = modifyMVar_ y $ return . (+1)
moveDn y = modifyMVar_ y $ return . (-1)
Мне потребовалось некоторое время, чтобы понять, почему мой код неt compile: я использовал (-1), который считается отрицательным. Брекетинг минус неt помогает, так как он префикс его и делает 1 его первым параметром.
Короче, какой смысл этой бесплатной версии?
dec :: Num a => a -> a
dec x = x - 1