История изменений
Исправление monk, (текущая версия) :
В каком плане не хватает? С refinement types ты в плане выразительности сильно далеко не уедешь.
В смысле? Как минимум в этом случае есть нормальные интервальные типы, а не Double для длины предмета (и неважно, что она неотрицательна) и Int для номера бита в байте.
Плюс, это внешняя штука для компилятора, поэтому, например, на кодогенерации не скажется вообще никак.
И что? Потеряется 2% производительности?
А зависимых типов в хацкелле просто нет и не факт, что когда-нибудь будут.
Вот вместо них для всех реальных случаев можно использовать жидкие. AndreyKl всё намекает, что существует пример, который можно написать на зависимых, но нельзя на жидких, но сам пример не приводит.
Исходная версия monk, :
В каком плане не хватает? С refinement types ты в плане выразительности сильно далеко не уедешь.
В смысле? Как минимум в этом случае есть нормальные интервальные типы, а не Double для длины предмета (и неважно, что она неотрицательна) и Int для номера бита в байте.
Плюс, это внешняя штука для компилятора, поэтому, например, на кодогенерации не скажется вообще никак.
И что? Потеряется 2% производительности?
А зависимых типов в хацкелле просто нет и не факт, что когда-нибудь будут.
Вот вместо них для всех реальных случаев можно использовать жидкие. @AndreyKi всё намекает, что существует пример, который можно написать на зависимых, но нельзя на жидких, но сам пример не приводит.