Преимущества использования нестандартных алгебраических функций в программировании:
- Экономия времени на написании служебных функций и методов для проверки целостности и непротиворечивости типов данных, а также методов доступа на запись и на чтение к полям таких типов. 4
- Возможность компактной статически безопасной реализации связных структур. 4
- Возможность увидеть суть структур данных на ранних этапах разработки программ, избавившись от синтаксического мусора в определениях типов. 4
Недостатки использования нестандартных алгебраических функций в программировании:
- Невозможность жёстко ограничить типы исключений, выбрасываемых конкретной функцией. 5
- Невозможность во время компиляции проверить, что обработаны все возможные случаи. 5
- Невозможность добавить новый конструктор, не изменив само объявление алгебраического типа, что делает код более предсказуемым, но ограничивает его расширение. 1