История изменений
Исправление
geekless,
(текущая версия)
:
Я, к сожалению, нихрена не понимаю в монадах, так что не смогу содержательно прокомментировать. Но сущностно мы имеем то же самое: nomalloc-выражение может состоять только из nomalloc-выражений; а «просто выражение» может состоять из «просто выражений» и nomalloc-выражений.
Насчёт насиловать проверками — главное, что результат-то достигается: мы придумываем разделение данных на типы, которые нам нужны, и можем объяснить транслятору эти типы так, чтобы «до него дошло». Хаскель точно так же будет выполнять проверки типов. В конечном счёте, на то статическая типизация и нужна.
Исправление
geekless,
:
Я, к сожалению, нихрена не понимаю в монадах, так что не смогу содержательно прокомментировать. Но сущностно мы имеем то же самое: nomalloc-выражение может состоять только из nomalloc-выражений; а «просто выражение» может состоять из «просто выражений» и nomalloc-выражений.
Насчёт насиловать проверками — главное, что результат-то достигается: мы придумываем разделение данных на типы, которые нам нужны, и можем объяснить трнаслятору эти типы так, чтобы «до него дошло». Хаскель точно так же будет выполнять проверки типов. В конечном счёте, на то статическая типизация и нужна.
Исходная версия
geekless,
:
Я, к сожалению, нихрена не понимаю в монадах, так что не смогу содержательно прокомментировать. Но сущностно мы имеем то же самое: nomalloc-выражение может состоять только из nomalloc-выражений; а «просто выражение» может стоять из «просто выражений» и nomalloc-выражений.
Насчёт насиловать проверками — главное, что результат-то достигается: мы придумываем разделение данных на типы, которые нам нужны, и можем объяснить трнаслятору эти типы так, чтобы «до него дошло». Хаскель точно так же будет выполнять проверки типов. В конечном счёте, на то статическая типизация и нужна.