Estoy tratando de entender cómo convertir funciones a notación sin puntos en Haskell. Vi this example, pero es más complicado de lo que estoy buscando. Siento que entiendo la lógica detrás de esto, pero cuando trato de ejecutar algunos ejemplos simples en el código obtengo errores de compilación. Quiero tratar de escribir esta función en el estilo libre de puntos:funciones simples de Haskell en estilo sin puntos
f x = 5 + 8/x
cuales reacomodé como f x = (+) 5 $ (/) 8 x
lo tanto, pensé que podría ser algo como esto:
f = (+) 5 $ (/) 8
pero cuando corro esto en ghci me sale este mensaje:
No instance for (Num (a0 -> a0))
arising from the literal `5' at Test.hs:3:9
Possible fix: add an instance declaration for (Num (a0 -> a0))
In the first argument of `(+)', namely `5'
In the first argument of `($)', namely `(+) 5'
In the expression: (+) 5 $ (/) 8
Failed, modules loaded: none.
No entiendo el mensaje "No hay instancia para ...". ¿Qué debo hacer para escribir esta función en un estilo sin puntos?
que cree que puede estar confundido acerca de la [diferencia entre el '' y '$ operadores .'] (http://stackoverflow.com/questions/940382/haskell-difference-between-dot-and-dollar-sign) – hammar