История изменений
Исправление hateyoufeel, (текущая версия) :
ну как не могу? я просто напишу
Ну да, bottom type внезапно содержит bottom. Кто бы мог подумать?
Когда в контексте Haskell говорят про пустой тип, подразумевается, что он пустой за исключением собственно bottom, которое содержится во всех типах вообще.
Хуже того, ты можешь написать вот так:
x :: Void
x = x
Но вычислить это значение ты никак не сможешь в любом случае, поэтому всё как бы ок.
если это не чит, то я как бы сдаюсь
Это не чит, это конструктивная особенность :)
Чит – это unsafeCoerce
.
Исходная версия hateyoufeel, :
ну как не могу? я просто напишу
Ну да, bottom type внезапно содержит bottom. Кто бы мог подумать?
Когда в контексте Haskell говорят про пустой тип, подразумевается, что он пустой за исключением собственно bottom, которое содержится во всех типах вообще.
Хуже того, ты можешь написать вот так:
x :: Void
x = x
если это не чит, то я как бы сдаюсь
Это не чит, это конструктивная особенность :)
Чит – это unsafeCoerce
.