|
|
# Known Haskell Extensions
|
|
|
|
|
|
[ The original extensions list can be found here](http://www.haskell.org/ghc/docs/latest/html/libraries/Cabal/Distribution-Extension.html)
|
|
|
[ The extensions that Cabal knows about can be found here](http://www.haskell.org/ghc/docs/latest/html/libraries/Cabal/Distribution-Extension.html)
|
|
|
|
|
|
## Support Matrix
|
|
|
|
... | ... | @@ -10,159 +10,159 @@ |
|
|
<th>HUGS
|
|
|
</th></tr>
|
|
|
<tr><th>[OverlappingInstances](overlapping-instances)</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>[RecursiveDo](recursive-do)</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>[ParallelListComp](parallel-list-comp)</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>[MultiParamTypeClasses](multi-param-type-classes)</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>[NoMonomorphismRestriction](no-monomorphism-restriction)</th>
|
|
|
<th>True</th>
|
|
|
<th>True</th>
|
|
|
<th>False
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<tr><th>[FunctionalDependencies](functional-dependencies)</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>RankNTypes</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<tr><th>[RankNTypes](rank-n-types)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>[PolymorphicComponents](polymorphic-components)</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>[ExistentialQuantification](existential-quantification)</th>
|
|
|
<th>True</th>
|
|
|
<th>True</th>
|
|
|
<th>True
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>[ScopedTypeVariables](scoped-type-variables)</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>[ImplicitParams](implicit-params)</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>[FlexibleContexts](flexible-contexts)</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>[FlexibleInstances](flexible-instances)</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>[EmptyDataDecls](empty-data-decls)</th>
|
|
|
<th>True</th>
|
|
|
<th>True</th>
|
|
|
<th>True
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>CPP</th>
|
|
|
<th>True</th>
|
|
|
<th>True</th>
|
|
|
<th>True
|
|
|
<tr><th>CPP?</th>
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>[TypeSynonymInstances](type-synonym-instances)</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>False
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<tr><th>TemplateHaskell?</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>False
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<tr><th>[ForeignFunctionInterface](foreign-function-interface)</th>
|
|
|
<th>True</th>
|
|
|
<th>True</th>
|
|
|
<th>True
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>AllowOverlappingInstances?</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>False
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<tr><th>AllowUndecidableInstances?</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>False
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<tr><th>AllowIncoherentInstances?</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>False
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<tr><th>InlinePhase?</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>False
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<tr><th>ContextStack?</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>False
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<tr><th>Arrows</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>False
|
|
|
<tr><th>[Arrows](arrows)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<tr><th>Generics</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>False
|
|
|
<tr><th>Generics?</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<tr><th>NoImplicitPrelude?</th>
|
|
|
<th>True</th>
|
|
|
<th>False</th>
|
|
|
<th>False
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<tr><th>NamedFieldPuns?</th>
|
|
|
<th>False</th>
|
|
|
<th>True</th>
|
|
|
<th>False
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<tr><th>ExtensibleRecords?</th>
|
|
|
<th>False</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>RestrictedTypeSynonyms?</th>
|
|
|
<th>False</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>HereDocuments?</th>
|
|
|
<th>False</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<tr><th>UnsafeOverlappingInstances?</th>
|
|
|
<th>False</th>
|
|
|
<th>False</th>
|
|
|
<th>True
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr></table>
|
|
|
|
|
|
## Extensions supported by two compilers
|
... | ... | |