Я изучаю Haskell и хотел бы навязывать использование положительных целых чисел (1,2,3,...) в некоторых конструкторах, но я только, кажется, нахожу типы данных "Int" и "Integer".
Я мог бы использовать канонический
data Nat = Zero | Succ Nat
но тогда я не мог использовать 1, 4,... для их обозначения.
Итак, я спрашиваю, есть ли способ сделать это? (что похоже на использование "unsigned" в C)
Спасибо заранее.
EDIT: Я собираюсь спрятать его внутри модуля, как объяснил К. А. Макканн. Кроме того, я должен добавить следующую ссылку: http://haskell.org/haskellwiki/Smart_constructors для резюме по этому вопросу. Спасибо, что нашли время ответить!