|
|
|
@ -399,7 +399,7 @@ let a = 1 * a -- not guarded, (*) is strict
|
|
|
|
|
> Интересное замечание: GHC должен скрывать отображение токена статуса
|
|
|
|
|
> абстрактного типа IO, потому что токен статуса должен все время быть использован
|
|
|
|
|
> линейно (не быть дуплицирован или сброшен), но система типов не может принудительно
|
|
|
|
|
> этого делать. Понятно, что другой ленивый подобный Haskell язык, имеет уникальные типы
|
|
|
|
|
> этого делать. Clean, другой ленивый подобный Haskell язык, имеет типы, гарантирующие уникальность
|
|
|
|
|
> (которые подобны линейным типам и возможно отличаются, но я не знаю как), и они разкрывают
|
|
|
|
|
> передачу в Мир напрямую и предоставляют (не абстрактную) IO монаду только для соблюдения соглашения.
|
|
|
|
|
|
|
|
|
|