Каков наилучший способ использования F # для анализа АСТ для построения интерпретатора? Существует множество примеров F # для тривиального синтаксиса (базовые арифметические операции), но я не могу найти ничего для языков с гораздо большим диапазоном функций.
Дискриминационные союзы выглядят невероятно полезными, но как бы вы решили построить один с большим количеством вариантов? Лучше ли определять типы (например, сложение, вычитание, условные выражения, поток управления) в другом месте и просто объединять их как предопределенные типы в объединении?
Или я пропустил гораздо более эффективные способы написания переводчиков? Имеет ли функция eval для каждого типа более эффективную или, возможно, использование монад?
Заранее спасибо