Тип Хаскеля против нового типа в отношении безопасности типов [закрыто]

я знаюnewtype чаще по сравнению сdata в Haskell, но я представляю это сравнение скорее с точки зрения дизайна, чем с технической точки зрения.

В неперспективных / ОО-языках есть анти-паттерн "примитивная одержимость", где широкое использование примитивных типов снижает безопасность типов программы и вводит случайно взаимозаменяемость значений одного типа, в противном случае предназначенных для различных целей. Например, многие вещи могут быть строкой, но было бы неплохо, если бы Компилятор может знать, статически, что мы подразумеваем под именем и что мы имеем в виду как город в адресе.

Итак, как часто тогда программисты на Haskell нанимаютnewtype дать типовые различия в противном случае примитивные значения? Использованиеtype вводит псевдоним и дает читателю понятную семантику программы, но не предотвращает случайный обмен значениями. Когда я изучаю haskell, я замечаю, что система типов так же мощна, как и любая другая, с которой я сталкивался. Поэтому я думаю, что это естественная и распространенная практика, но я не видел много или каких-либо дискуссий об использованииnewtype В этом свете.

Конечно, многие программисты делают все по-другому, но так ли это вообще в хаскеле?

Ответы на вопрос(4)

Ваш ответ на вопрос