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