I was wondering if GHC's extensions can be divided into basically two different categories
Now provided one could divide the existing extensions into the above categories which extension would fit into which category?
I think a more appropriate categorization would be to divide it up by the compiler pipeline:
Syntactic extensions
Type System Extensions
Cross-cutting extensions
Optimizatsions
Code Generation Extensions
Runtime Extensions
What do you think? Not every flag is either (a) definable in terms of existing constructions, or (b) a new part of the compiler. It's more subtle.
There are many other extensions too, see if you can classify them in this form.
The flags are already categorized in the flag reference in the GHC's users guide, and the language extensions are broken down into various categories in the section on language features.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With