Estoy aprendiendo Haskell y me gustaría imponer el uso de enteros positivos (1,2,3, ...) en algunos constructores, pero parece que solo encuentro los tipos de datos 'Int' y 'Entero'.¿Existe alguna forma práctica de usar números naturales en Haskell?
que podría utilizar la canónica
data Nat = Zero | Succ Nat
pero luego no pude usar 1, 4, ... para denotar ellos.
Entonces pregunto, ¿hay alguna manera de lograr esto? (que es como usar 'unsigned' en C)
Gracias de antemano.
EDIT: voy el camino de ocultarlo dentro de un módulo, como se explica por C. A. McCann. Además, debo agregar el siguiente enlace: http://haskell.org/haskellwiki/Smart_constructors para obtener un resumen sobre el tema. ¡Gracias por tomarse el tiempo para responder!
yo prefiero su camino. Aunque no se puede utilizar la sintaxis con azúcar, todavía se puede caer de nuevo a las viejas funciones regulares para generar listas. –