LINUX.ORG.RU

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

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

В каком плане не хватает? С refinement types ты в плане выразительности сильно далеко не уедешь.

В смысле? Как минимум в этом случае есть нормальные интервальные типы, а не Double для длины предмета (и неважно, что она неотрицательна) и Int для номера бита в байте.

Плюс, это внешняя штука для компилятора, поэтому, например, на кодогенерации не скажется вообще никак.

И что? Потеряется 2% производительности?

А зависимых типов в хацкелле просто нет и не факт, что когда-нибудь будут.

Вот вместо них для всех реальных случаев можно использовать жидкие. @AndreyKl всё намекает, что существует пример, который можно написать на зависимых, но нельзя на жидких, но сам пример не приводит.

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

В каком плане не хватает? С refinement types ты в плане выразительности сильно далеко не уедешь.

В смысле? Как минимум в этом случае есть нормальные интервальные типы, а не Double для длины предмета (и неважно, что она неотрицательна) и Int для номера бита в байте.

Плюс, это внешняя штука для компилятора, поэтому, например, на кодогенерации не скажется вообще никак.

И что? Потеряется 2% производительности?

А зависимых типов в хацкелле просто нет и не факт, что когда-нибудь будут.

Вот вместо них для всех реальных случаев можно использовать жидкие. @AndreyKi всё намекает, что существует пример, который можно написать на зависимых, но нельзя на жидких, но сам пример не приводит.