Преимущества алгебраического подхода в программировании:
- Унификация представления и анализа данных и знаний. 2 Это позволяет решить проблему сопряжения баз данных и баз знаний в рамках одной программной системы. 2
- Возможность распараллеливания алгоритмов. 2 Алгоритмы обработки отношений, записанных в виде алгебраических объектов, хорошо поддаются этому процессу. 2
- Учёт внутренней структуры обрабатываемых знаний. 2 Это ускоряет решение стандартных задач логического анализа. 2
- Гибкость динамического программирования. 3 Алгебраический подход позволяет добиваться оптимизации в рамках множества целевых функций, альтернативных решений и обратного отслеживания, целостного анализа пространства поиска, проверки неоднозначности и многого другого без дополнительных усилий при программировании. 3
Недостатки алгебраического подхода в программировании:
- Высокая вычислительная сложность алгоритмов. 2 Особенно это касается задач логического анализа (так называемая проблема «экспоненциальной катастрофы»). 2
- Невозможность расширения алгебраических типов. 4 Это следует из того, что алгебраические типы являются «закрытыми», и нельзя добавить новый конструктор, не изменив само объявление алгебраического типа. 4