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