Подтвердить что ты не робот

Почему допустимы типы без конструкторов данных?

Это кажется законным:

data MagazineInfo = Int String
    deriving (Show)

Я не уверен, есть ли конструктор данных по умолчанию, но приведенный выше код компилируется.

Почему выше допустимый Haskell, так как я явно не указал конструктор значений?

4b9b3361

Ответ 1

У вас есть конструктор данных - it Int. Имена типов живут в отдельном пространстве имен от конструкторов данных, поэтому вы не получаете ошибку, даже если существует тип, также называемый Int.