LINUX.ORG.RU

История изменений

Исправление monk, (текущая версия) :

просто данные индуктивно так устроены, что в Tree[A] всегда будут только A, это известно до запуска программы

Есть вот такое : https://github.com/sellout/quid-pro-quo

Позволяет использовать контракты, в частности форсить требования на типы слотов.

Статически многие вещи сделать всё равно невозможно. И остаются в рантайме проверки на тип указателя, не-равно-NULL, ограничение диапазона, обработка переполнения и деления на ноль.

Как в терминах системы типов описать plist? Если использовать только гомогенные контейнеры, то половины типовых конструкций CL становится невозможной начиная с defmacro. Какой тип у body? Дикий матан на http://docs.scala-lang.org/overviews/macros/overview.html как бы намекает...

Он проверяет, но это именно стилистические предупреждения.

И это правильно. Так же как cerror позволят поправить данные и пойти дальше. Гораздо хуже, когда приходится бороться с системой типов для решения чего-нибудь типового (те же гетерогенные списки или массивы в Haskell).

Исходная версия monk, :

просто данные индуктивно так устроены, что в Tree[A] всегда будут только A, это известно до запуска программы

Есть вот такое : https://github.com/sellout/quid-pro-quo

Позволяет использовать контракты, в частности форсить требования на типы слотов.

Статически многие вещи сделать всё равно невозможно. И остаются в рантайме проверки на тип указателя, не-равно-NULL, ограничение диапазона, обработка переполнения и деления на ноль.

Как в терминах системы типов описать plist? Если использовать только гомогенные контейнеры, то половины типовых конструкций CL становится невозможной начиная с defmacro. Какой тип у body? Дикий матан на http://docs.scala-lang.org/overviews/macros/overview.html как бы намекает...

Он проверяет, но это именно стилистические предупреждения.

И это правильно. Так же как cerror позволят поправить данный и пойти дальше. Гораздо уже, когда приходится бороться с системой типов для решения чего-нибудь типового (те же гетерогенные списки или массивы в Haskell).