... | ... | @@ -15,368 +15,398 @@ |
|
|
<th> GHC </th>
|
|
|
<th> NHC </th>
|
|
|
<th> HUGS </th>
|
|
|
<th> JHC
|
|
|
<th> JHC </th>
|
|
|
<th> Ticket
|
|
|
</th></tr>
|
|
|
<tr><th>[AssociatedTypes](associated-types)</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#14](https://gitlab.haskell.org//haskell/prime/issues/14)</th></tr>
|
|
|
<tr><th>ClassAliases?</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>CoinductiveDictionaries?</th>
|
|
|
<th> ? </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>ContextStack?</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>DataKinds?</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[DoAndIfThenElse](do-and-if-then-else)</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#23](https://gitlab.haskell.org//haskell/prime/issues/23)</th></tr>
|
|
|
<tr><th>[DottedHierarchicalModules](dotted-hierarchical-modules)</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
<th> True </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[EmptyDataDecls](empty-data-decls)</th>
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<th> True </th>
|
|
|
<th>[\#25](https://gitlab.haskell.org//haskell/prime/issues/25)</th></tr>
|
|
|
<tr><th>[ExistentialQuantification](existential-quantification)</th>
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#26](https://gitlab.haskell.org//haskell/prime/issues/26)</th></tr>
|
|
|
<tr><th>ExplicitDictionaries?</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>ExtensibleRecords?</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#27](https://gitlab.haskell.org//haskell/prime/issues/27)</th></tr>
|
|
|
<tr><th>[FlexibleContexts](flexible-contexts)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> ?
|
|
|
</th></tr>
|
|
|
<th> ? </th>
|
|
|
<th>[\#31](https://gitlab.haskell.org//haskell/prime/issues/31)</th></tr>
|
|
|
<tr><th>[FlexibleInstances](flexible-instances)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> ?
|
|
|
</th></tr>
|
|
|
<th> ? </th>
|
|
|
<th>[\#32](https://gitlab.haskell.org//haskell/prime/issues/32)</th></tr>
|
|
|
<tr><th>[ForeignData](foreign-data)</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<th> True </th>
|
|
|
<th>[\#34](https://gitlab.haskell.org//haskell/prime/issues/34)</th></tr>
|
|
|
<tr><th>[ForeignFunctionInterface](foreign-function-interface)</th>
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<th> True </th>
|
|
|
<th>[\#35](https://gitlab.haskell.org//haskell/prime/issues/35)</th></tr>
|
|
|
<tr><th>[FunctionalDependencies](functional-dependencies)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#36](https://gitlab.haskell.org//haskell/prime/issues/36)</th></tr>
|
|
|
<tr><th>HereDocuments?</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[HierarchicalModules](hierarchical-modules)</th>
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<th> True </th>
|
|
|
<th>[\#24](https://gitlab.haskell.org//haskell/prime/issues/24)</th></tr>
|
|
|
<tr><th>[ImplicitParams](implicit-params)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#38](https://gitlab.haskell.org//haskell/prime/issues/38)</th></tr>
|
|
|
<tr><th>[IncoherentInstances](incoherent-instances)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[InfixTypeConstructors](infix-type-constructors)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
<th> True </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>InlinePhase?</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[KindAnnotations](kind-annotations)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
<th> True </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>KindPolymorphism?</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[LambdaCase](lambda-case)</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th>[\#41](https://gitlab.haskell.org//haskell/prime/issues/41) (todo)
|
|
|
</th></tr>
|
|
|
<tr><th>[LiberalTypeSynonyms](liberal-type-synonyms)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
<th> True </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[LinearImplicitParams](linear-implicit-params)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#43](https://gitlab.haskell.org//haskell/prime/issues/43)</th></tr>
|
|
|
<tr><th>[MagicUnderscore](magic-underscore)</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<th> True </th>
|
|
|
<th>[\#44](https://gitlab.haskell.org//haskell/prime/issues/44)</th></tr>
|
|
|
<tr><th>[MultiParamTypeClasses](multi-param-type-classes)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#49](https://gitlab.haskell.org//haskell/prime/issues/49)</th></tr>
|
|
|
<tr><th>[MultiWayIf](multi-way-if)</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th>[\#41](https://gitlab.haskell.org//haskell/prime/issues/41) (todo)
|
|
|
</th></tr>
|
|
|
<tr><th>NamedFieldPuns?</th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[NewtypeDeriving](newtype-deriving)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<th> True </th>
|
|
|
<th>[\#52](https://gitlab.haskell.org//haskell/prime/issues/52)</th></tr>
|
|
|
<tr><th>NoImplicitPrelude?</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
<th> True </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[NoMonomorphismRestriction](no-monomorphism-restriction)</th>
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
<th> True </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[NondecreasingIndentation](nondecreasing-indentation)</th>
|
|
|
<th> True </th>
|
|
|
<th> ? </th>
|
|
|
<th> True </th>
|
|
|
<th> ?
|
|
|
</th></tr>
|
|
|
<th> ? </th>
|
|
|
<th>[\#53](https://gitlab.haskell.org//haskell/prime/issues/53)</th></tr>
|
|
|
<tr><th>[OverlappingInstances](overlapping-instances)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#54](https://gitlab.haskell.org//haskell/prime/issues/54)</th></tr>
|
|
|
<tr><th>[ParallelListComp](parallel-list-comp)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#55](https://gitlab.haskell.org//haskell/prime/issues/55)</th></tr>
|
|
|
<tr><th>[PartialTypeSigs](partial-type-sigs)</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[PatternGuards](pattern-guards)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#56](https://gitlab.haskell.org//haskell/prime/issues/56)</th></tr>
|
|
|
<tr><th>[PolymorphicComponents](polymorphic-components)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#57](https://gitlab.haskell.org//haskell/prime/issues/57)</th></tr>
|
|
|
<tr><th>RebindableSyntax?</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> Some
|
|
|
<th> Some </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[RecursiveDo](recursive-do)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#64](https://gitlab.haskell.org//haskell/prime/issues/64)</th></tr>
|
|
|
<tr><th>RecursiveModules?</th>
|
|
|
<th> Partial </th>
|
|
|
<th> Partial </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
<th> True </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>RestrictedTypeSynonyms?</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>RewriteRules?</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> Int
|
|
|
<th> Int </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[ScopedTypeVariables](scoped-type-variables)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#67](https://gitlab.haskell.org//haskell/prime/issues/67)</th></tr>
|
|
|
<tr><th>TemplateHaskell?</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[TypeSynonymInstances](type-synonym-instances)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> True
|
|
|
</th></tr>
|
|
|
<th> True </th>
|
|
|
<th>[\#70](https://gitlab.haskell.org//haskell/prime/issues/70)</th></tr>
|
|
|
<tr><th>UnboxedTypes?</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> Int
|
|
|
<th> Int </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[UndecidableInstances](undecidable-instances)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#71](https://gitlab.haskell.org//haskell/prime/issues/71)</th></tr>
|
|
|
<tr><th>[Views](views)</th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#73](https://gitlab.haskell.org//haskell/prime/issues/73)</th></tr>
|
|
|
<tr><th>[Arrows](arrows)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#13](https://gitlab.haskell.org//haskell/prime/issues/13)</th></tr>
|
|
|
<tr><th>Assertions?</th>
|
|
|
<th> True </th>
|
|
|
<th> ? </th>
|
|
|
<th> False </th>
|
|
|
<th> True
|
|
|
<th> True </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[Concurrency](concurrency)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> Coop </th>
|
|
|
<th> Poor
|
|
|
</th></tr>
|
|
|
<th> Poor </th>
|
|
|
<th>[\#74](https://gitlab.haskell.org//haskell/prime/issues/74)</th></tr>
|
|
|
<tr><th>CPP?</th>
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> True </th>
|
|
|
<th> True
|
|
|
<th> True </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[GADTs](gad-ts)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#37](https://gitlab.haskell.org//haskell/prime/issues/37)</th></tr>
|
|
|
<tr><th>Generics?</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>Impredicativity?</th>
|
|
|
<th> ? </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
<th> False </th>
|
|
|
<th> none!
|
|
|
</th></tr>
|
|
|
<tr><th>[Rank2Types](rank2-types)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> True </th>
|
|
|
<th> False
|
|
|
</th></tr>
|
|
|
<th> False </th>
|
|
|
<th>[\#60](https://gitlab.haskell.org//haskell/prime/issues/60)</th></tr>
|
|
|
<tr><th>[RankNTypes](rank-n-types)</th>
|
|
|
<th> True </th>
|
|
|
<th> False </th>
|
|
|
<th> False </th>
|
|
|
<th> False
|
|
|
</th></tr></table>
|
|
|
<th> False </th>
|
|
|
<th>[\#60](https://gitlab.haskell.org//haskell/prime/issues/60)</th></tr></table>
|
|
|
|
|
|
## Extensions supported by two compilers
|
|
|
|
... | ... | |