¿Cuál es el equivalente a (+1) para la resta, ya que (-1) se ve como un número negativo? [duplicar]
Posible duplicado:
Sustracción al curry
Comencé mi primer proyecto de haskell que no es de un tutorial, y por supuesto me tropiezo con las cosas más simples.
Tengo el siguiente código:
moveUp y = modifyMVar_ y $ return . (+1)
moveDn y = modifyMVar_ y $ return . (-1)
Me tomó algo de tiempo entender por qué mi código no se compilaba: había usado (-1), que se ve como uno negativo. Poner el símbolo de menos entre paréntesis no ayuda, ya que lo prefija y hace de 1 su primer parámetro.
En resumen, ¿cuál es la versión libre de puntos de esto?
dec :: Num a => a -> a
dec x = x - 1