Я задавался вопросом, могут ли расширения GHC быть разделены на в основном две различных категории
Теперь, если можно было разделить существующие расширения на вышеупомянутые категории, в которые расширение впишется который категория?
Я думаю, что более подходящей категоризацией было бы разделить их по конвейеру компилятора:
Syntactic extensions
Type System Extensions
Cross- cutting extensions
Optimizatsions
Code Generation Extensions
Runtime Extensions
What do you think? Не каждый флаг является либо (а) определяемым в терминах существующих конструкций, либо (б) новой частью компилятора. Все гораздо тоньше.
Есть много других расширений, посмотрите, сможете ли вы классифицировать их в такой форме.
Флаги уже распределены по категориям в справочнике по флагам в руководстве пользователя GHC, а языковые расширения разбиты на различные категории в разделе о языковых функциях . .