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