Compiler construction 分类GHC扩展
我想知道GHC的扩展是否可以基本上分为两类Compiler construction 分类GHC扩展,compiler-construction,haskell,ghc,type-systems,Compiler Construction,Haskell,Ghc,Type Systems,我想知道GHC的扩展是否可以基本上分为两类 那些提供“语法上的suggar”或便利的 以及那些引入新事物的人,比如说一个新的范例 现在,如果可以将现有扩展划分为上述类别,那么哪个扩展将适合哪个类别?我认为更合适的分类是按照编译器管道将其划分: 语法扩展 -XMagicHash -徐尼科综合征 -XNewQualifiedOperators -XViewPatterns -XNPlusKPatterns -XDoRec -XTTransferorMListComp -XNoImplicitP
- 那些提供“语法上的suggar”或便利的
- 以及那些引入新事物的人,比如说一个新的范例
现在,如果可以将现有扩展划分为上述类别,那么哪个扩展将适合哪个类别?我认为更合适的分类是按照编译器管道将其划分: 语法扩展
- -XMagicHash
- -徐尼科综合征
- -XNewQualifiedOperators
- -XViewPatterns
- -XNPlusKPatterns
- -XDoRec
- -XTTransferorMListComp
- -XNoImplicitPrelude
- -xpostfix运算符
- -不连续切片
- -XDISAmbiguatereRecordFields
- -XNamedFieldPuns
- -XRecord通配符
- -XPackageImports
- -XExplicitForAll
- -Xkind签名
- -XUnboxedTuples
- -xliberaltype同义词
- -XGADTs
- -XMultiParamTypeClasses
- -XFlexibleContexts
- -XConstrainedClassMethods
- -XOverlappingInstances和-XIncoherentInstances
- -XTypeFamilies
- -XImplicitParams
- -XTemplateHaskell
- -XForeignFunctionInterface
- -可修改的重写规则
- -fspec合同
- -氧气
- -fllvm
- -fasm
- -fvia-C
- -螺纹
还有许多其他扩展,请看您是否可以在此表单中对它们进行分类。标记已经在GHC的用户指南中进行了分类,语言扩展在上一节中被分解为不同的类别。我不确定这种区别有多大意义——考虑到图灵完整性,从某种意义上说,其他一切都只是“方便”。诚然,编写Haskell而不是,噢,Lazy K确实非常方便……为什么要将“横切”作为FFI和TH的标签?@Jason Dusek:因为它们对语言的多个方面都有深远的影响,我想——要么调用任意外部代码,要么在编译时对代码进行任意更改。噢,因为它们修改了编译器和运行时的所有方面:语法、类型、代码生成和运行时支持。