Soy bastante nuevo en Haskell pero obtengo la mayoría de los conceptos básicos. Sin embargo, hay una cosa que no puedo entender. Considere mi ejemplo a continuación:¿Por qué mi función Haskell no acepta números negativos?
example :: Int -> Int
example (n+1) = .....
El (n + 1) parte de este ejemplo de alguna manera impide la entrada de números negativos, pero no puedo entender cómo. Por ejemplo ... Si la entrada fuera (-5), esperaría que n fuera solo (-6) ya que (-6 + 1) es (-5). La salida al realizar la prueba es la siguiente:
Program error: pattern match failure: example (-5)
¿Alguien puede explicarme por qué esto no acepta números negativos?
Tenga en cuenta que los patrones 'n + k' se eliminarán de la próxima versión de la especificación del lenguaje Haskell (Haskell 2010). Hasta donde yo sé, rara vez se usan en la práctica (aunque estoy seguro de que alguien encontrará un ejemplo anecdótico). Entonces sugeriría no usarlos. –