... | ... | @@ -4,110 +4,7 @@ |
|
|
Most language entities in Haskell can be named so that they can be abbreviated instead of written out in full.
|
|
|
This proposal provides the same power for patterns. See the [implementation](pattern-synonyms/implementation) page for implementation details.
|
|
|
|
|
|
|
|
|
Tickets should include `PatternSynonyms` in their Keywords to appear in these summary lists.
|
|
|
|
|
|
|
|
|
|
|
|
Open Tickets:
|
|
|
|
|
|
<table><tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/8581">#8581</a></th>
|
|
|
<td>Pattern synonym used in an expression context could have different constraints to pattern used in a pattern context</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/8583">#8583</a></th>
|
|
|
<td>Associated pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9671">#9671</a></th>
|
|
|
<td>Allow expressions in patterns</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/10783">#10783</a></th>
|
|
|
<td>Partial type signatures should work in pattern synonym signatures</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11212">#11212</a></th>
|
|
|
<td>Should be more liberal parsing pattern synonyms with view patterns</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11228">#11228</a></th>
|
|
|
<td>Interaction between ORF and record pattern synonyms needs to be resolved.</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11350">#11350</a></th>
|
|
|
<td>Allow visible type application in patterns</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11368">#11368</a></th>
|
|
|
<td>Pattern synonym name is mangled when patterns are non-exhaustive</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11461">#11461</a></th>
|
|
|
<td>Allow pattern synonyms to be bundled with type classes?</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11646">#11646</a></th>
|
|
|
<td>Make pattern synonym export type mismatch a warning</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11655">#11655</a></th>
|
|
|
<td>Ambiguous types in pattern synonym not determined by functional dependencies</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11955">#11955</a></th>
|
|
|
<td>Haddock documentation for pattern synonyms printed with explicit forall quantifiers</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11959">#11959</a></th>
|
|
|
<td>Importing doubly exported pattern synonym and associated pattern synonym panics</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11993">#11993</a></th>
|
|
|
<td>RFC, allow local bindings in pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12006">#12006</a></th>
|
|
|
<td>Can't infer constraint of pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12178">#12178</a></th>
|
|
|
<td>Allow inline pragmas on pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12179">#12179</a></th>
|
|
|
<td>Incorrect parsing of a pattern synonym type</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12187">#12187</a></th>
|
|
|
<td>Clarify the scoping of existentials for pattern synonym signatures</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12203">#12203</a></th>
|
|
|
<td>Allow constructors on LHS of (implicit) bidirectional pattern synonym</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12448">#12448</a></th>
|
|
|
<td>Allow partial application of bidirectional pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12975">#12975</a></th>
|
|
|
<td>Suggested type signature for a pattern synonym causes program to fail to type check</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13042">#13042</a></th>
|
|
|
<td>Allow type annotations / visible type application in pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13307">#13307</a></th>
|
|
|
<td>Record pattern synonym fields have to be manually exported</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13363">#13363</a></th>
|
|
|
<td>Wildcard patterns and COMPLETE sets can lead to misleading redundant pattern-match warnings</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13572">#13572</a></th>
|
|
|
<td>Add ArgMin / ArgMax pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13717">#13717</a></th>
|
|
|
<td>Pattern synonym exhaustiveness checks don't play well with EmptyCase</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13778">#13778</a></th>
|
|
|
<td>explicitly bidirectional patterns should not report Recursive definition" when used in view pattern expression position</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13964">#13964</a></th>
|
|
|
<td>Pattern-match warnings for datatypes with COMPLETE sets break abstraction</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13965">#13965</a></th>
|
|
|
<td>COMPLETE sets nerf redundant pattern-match warnings</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13975">#13975</a></th>
|
|
|
<td>GHC can't infer pattern signature, untoucable kinds</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14059">#14059</a></th>
|
|
|
<td>COMPLETE sets don't work at all with data family instances</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14133">#14133</a></th>
|
|
|
<td>COMPLETE pragmas seem to be ignored when using view patterns</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14253">#14253</a></th>
|
|
|
<td>Pattern match checker mistakenly concludes pattern match on pattern synonym is unreachable</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14422">#14422</a></th>
|
|
|
<td>{-# complete #-} should be able to be at least partially type directed</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14423">#14423</a></th>
|
|
|
<td>{-# complete #-} should be able to handle | like {-# minimal #-}</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14602">#14602</a></th>
|
|
|
<td>Implement the pattern synonym construction function signatures proposal</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14630">#14630</a></th>
|
|
|
<td>name shadowing warnings by record pattern synonyms + RecordWildCards or NamedFieldPuns</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14851">#14851</a></th>
|
|
|
<td>"Pattern match has inaccessible right hand side" with TypeRep</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/15014">#15014</a></th>
|
|
|
<td>Exhaustivity check should suggest when COMPLETE could be helpful</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/15020">#15020</a></th>
|
|
|
<td>PatternSynonyms: Problems with quantified constraints / foralls</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/15416">#15416</a></th>
|
|
|
<td>Higher rank types in pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/15554">#15554</a></th>
|
|
|
<td>COMPLETE pragmas make overlapping-patterns warnings behave oddly</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/15681">#15681</a></th>
|
|
|
<td>Take exhaustiveness checking into consideration when using MonadFailDesugaring</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/15693">#15693</a></th>
|
|
|
<td>Abstracting out pattern into a pattern synonym fails with scary error</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/15744">#15744</a></th>
|
|
|
<td>Existence of complete pattern synonym hides unrelated incomplete pattern warning</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/15885">#15885</a></th>
|
|
|
<td>Enhancing COMPLETE pragma to support pattern synonyms with polymorphic (output) types</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/16155">#16155</a></th>
|
|
|
<td>Pattern Synonym for Ratio</td></tr></table>
|
|
|
|
|
|
|
|
|
There is a list of closed tickets at the bottom of the page.
|
|
|
See the ~"pattern synonyms" label.
|
|
|
|
|
|
## Motivating example
|
|
|
|
... | ... | @@ -572,249 +469,4 @@ See [PatternSynonyms/AssociatingSynonyms](pattern-synonyms/associating-synonyms) |
|
|
|
|
|
## `COMPLETE` pragmas
|
|
|
|
|
|
|
|
|
See [PatternSynonyms/CompleteSigs](pattern-synonyms/complete-sigs) |
|
|
|
|
|
## Closed Tickets
|
|
|
|
|
|
|
|
|
|
|
|
Closed Tickets:
|
|
|
|
|
|
<table><tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/5144">#5144</a></th>
|
|
|
<td>Pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/8582">#8582</a></th>
|
|
|
<td>Record syntax for pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/8584">#8584</a></th>
|
|
|
<td>Pattern synonym type signatures</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/8749">#8749</a></th>
|
|
|
<td>Pattern synonyms crash GHCi</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/8761">#8761</a></th>
|
|
|
<td>Make pattern synonyms work with Template Haskell</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/8779">#8779</a></th>
|
|
|
<td>Exhaustiveness checks for pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/8841">#8841</a></th>
|
|
|
<td>PatternSynonyms error gives wrong source locations</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/8968">#8968</a></th>
|
|
|
<td>Pattern synonyms and GADTs</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9161">#9161</a></th>
|
|
|
<td>Pattern synonyms interact badly with data kinds</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9226">#9226</a></th>
|
|
|
<td>Internal error when using equality constraint in pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9417">#9417</a></th>
|
|
|
<td>Pattern synonyms across modules broken in Haddock</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9514">#9514</a></th>
|
|
|
<td>Haddock panics when exporting a module with pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9705">#9705</a></th>
|
|
|
<td>Panic on a pattern synonym in a class</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9732">#9732</a></th>
|
|
|
<td>Pattern synonyms and unboxed values</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9783">#9783</a></th>
|
|
|
<td>Pattern synonym matcher is unnecessarily strict on unboxed continuations</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9793">#9793</a></th>
|
|
|
<td>Some as-patterns could be accepted in pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9803">#9803</a></th>
|
|
|
<td>Poor error message for unbound variable in pattern synonym</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9867">#9867</a></th>
|
|
|
<td>PatternSynonyms + ScopedTypeVariables triggers an internal error</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9889">#9889</a></th>
|
|
|
<td>Pattern synonym does not work in top-level pattern bind</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9891">#9891</a></th>
|
|
|
<td>Fixity declarations for pattern synonyms not persisted</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9900">#9900</a></th>
|
|
|
<td>Support pattern synonyms in GHCi</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9911">#9911</a></th>
|
|
|
<td>Pattern synonyms with no signatures should yield warnings</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9953">#9953</a></th>
|
|
|
<td>Pattern synonyms don't work with GADTs</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9954">#9954</a></th>
|
|
|
<td>Required constraints are not inferred for pattern synonyms involving GADTs</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9967">#9967</a></th>
|
|
|
<td>Pattern synonym type signature documentation out of date</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/9975">#9975</a></th>
|
|
|
<td>RecordWildcards and PatternSynonyms cause impossible bug</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/10339">#10339</a></th>
|
|
|
<td>PatternSynonyms confuse exhaustiveness check</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/10404">#10404</a></th>
|
|
|
<td>GHC panic when creating a monomorphised pattern synonym for GADT</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/10426">#10426</a></th>
|
|
|
<td>matchGroupArity panic with PatternSynonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/10653">#10653</a></th>
|
|
|
<td>PatternSynonyms should be imported/exported as part of the wildcard notation</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/10747">#10747</a></th>
|
|
|
<td>Infix pattern synonyms fail to parse (regression)</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/10873">#10873</a></th>
|
|
|
<td>Bad error message for incorrect pattern synonym signature</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/10897">#10897</a></th>
|
|
|
<td>Incorrect ASSERT for buildPatSyn</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/10997">#10997</a></th>
|
|
|
<td>Pattern synonym causes Iface error.</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11039">#11039</a></th>
|
|
|
<td>Panic with incorrect pattern synonym signature</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11213">#11213</a></th>
|
|
|
<td>Incorrect reported pattern synonym signature</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11224">#11224</a></th>
|
|
|
<td>Program doesn't preserve semantics after pattern synonym inlining.</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11225">#11225</a></th>
|
|
|
<td>Unable to provide type signature for pattern synonym</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11227">#11227</a></th>
|
|
|
<td>Interaction between ORF and record pattern synonyms needs to be resolved.</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11233">#11233</a></th>
|
|
|
<td>Improve optimisation of pattern synonym matching</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11283">#11283</a></th>
|
|
|
<td>PatternSynonms and DisambiguateRecordFields causes panic</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11336">#11336</a></th>
|
|
|
<td>GHC craches on this combination of ViewPatterns and PatternSynonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11351">#11351</a></th>
|
|
|
<td>Scoped type variables in pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11367">#11367</a></th>
|
|
|
<td>[Regression] Only one clause allowed in (explicitly bidirectional) pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11524">#11524</a></th>
|
|
|
<td>Something is amiss with quantification in pattern synonym type signatures</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11633">#11633</a></th>
|
|
|
<td>Record field order in a bidirectional pattern synonym match is order dependent</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11667">#11667</a></th>
|
|
|
<td>Incorrect pattern synonym types in error messages</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11727">#11727</a></th>
|
|
|
<td>Allow one type signature for multiple pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11728">#11728</a></th>
|
|
|
<td>Core lint errors</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11977">#11977</a></th>
|
|
|
<td>ghc doesn't agree with its own inferred pattern type</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11985">#11985</a></th>
|
|
|
<td>Core lint error on record syntax update/pattern synonym</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11986">#11986</a></th>
|
|
|
<td>Record fields not defined with pattern synonym in ghci</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/11987">#11987</a></th>
|
|
|
<td>Allow record wildcards with pattern synonyms which are defined in GHCi</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12007">#12007</a></th>
|
|
|
<td>Panic when loading file with nested pattern synonyms into ghci</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12017">#12017</a></th>
|
|
|
<td>GHC panics on pattern synonym ‘kindPrimRep’</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12024">#12024</a></th>
|
|
|
<td>GHC leaks GHC.Prim.~# into type</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12025">#12025</a></th>
|
|
|
<td>Order of constraints forced (in pattern synonyms, type classes in comments)</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12061">#12061</a></th>
|
|
|
<td>Allow duplicate record fields in pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12094">#12094</a></th>
|
|
|
<td>Unlifted types and pattern synonym signatures</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12101">#12101</a></th>
|
|
|
<td>Regression: Pattern synonyms make GHCi 8.0.1 crash</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12108">#12108</a></th>
|
|
|
<td>Function type synonym fails in pattern synonym</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12109">#12109</a></th>
|
|
|
<td>Matching on pattern synonym succeeds compiled with ghc, fails with ghci</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12153">#12153</a></th>
|
|
|
<td>Bug in pattern synonyms with template haskell</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12165">#12165</a></th>
|
|
|
<td>Multiple pattern type signatures accepted</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12166">#12166</a></th>
|
|
|
<td>Pattern synonym existential variable confusion</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12366">#12366</a></th>
|
|
|
<td>Use TypeOperators for pattern synonyms?</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12426">#12426</a></th>
|
|
|
<td>Allow smart constructors their own types</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12429">#12429</a></th>
|
|
|
<td>Pattern synonym parse error should recommend enabling extension</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12456">#12456</a></th>
|
|
|
<td>Panics when making a quotation as pattern synonym</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12489">#12489</a></th>
|
|
|
<td>undefined in view pattern inside pattern synonym causes GHC to panic</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12548">#12548</a></th>
|
|
|
<td>Exported pattern synonyms does not mark top-level bindings in RHS as used</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12615">#12615</a></th>
|
|
|
<td>Record pattern synonyms cause spurious name shadowing warnings</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12697">#12697</a></th>
|
|
|
<td>Improve output of pattern synonym info</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12698">#12698</a></th>
|
|
|
<td>GHC panic on pattern synonym</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12746">#12746</a></th>
|
|
|
<td>Assertion failed with BuildFlavour = devel2 (one more)</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12767">#12767</a></th>
|
|
|
<td>Pattern synonyms for Cont, Writer, Reader, State, ...</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/12872">#12872</a></th>
|
|
|
<td>Pattern synonyms allow multiple type signatures but only use the first</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13018">#13018</a></th>
|
|
|
<td>TH-spliced pattern synonym declaration fails to typecheck</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13022">#13022</a></th>
|
|
|
<td>Pattern Synonyms using other synonyms causes ghc panic</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13071">#13071</a></th>
|
|
|
<td>GHCi 8.0.1 panic with PatternSynonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13158">#13158</a></th>
|
|
|
<td>Pattern synonyms should use type annotation information when typechecking</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13188">#13188</a></th>
|
|
|
<td>COMPLETE pragma causes compilation to hang forever under certain scenarios</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13349">#13349</a></th>
|
|
|
<td>Make GHC handle orphan COMPLETE sets of conlikes better</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13350">#13350</a></th>
|
|
|
<td>COMPLETE sets aren't read from external packages</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13394">#13394</a></th>
|
|
|
<td>PatternSynonyms/OverloadedStrings regression in GHC HEAD</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13441">#13441</a></th>
|
|
|
<td>Type inference failure in bidirectional pattern synonym and GADT pattern match</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13449">#13449</a></th>
|
|
|
<td>Multiple pattern synonym declarations for one signature</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13454">#13454</a></th>
|
|
|
<td>Operators not allowed as fields in Record Pattern Synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13470">#13470</a></th>
|
|
|
<td>Pattern synonyms bind variables out of scope</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13671">#13671</a></th>
|
|
|
<td>Core lint error with PatternSynonyms and undefined</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13672">#13672</a></th>
|
|
|
<td>Pattern match on LHS of pattern synonym declaration</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13688">#13688</a></th>
|
|
|
<td>Allow splices in definition of pattern synonym</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13735">#13735</a></th>
|
|
|
<td>RankNTypes don't work with PatternSynonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13752">#13752</a></th>
|
|
|
<td>Odd pattern synonym type errors</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13768">#13768</a></th>
|
|
|
<td>Incorrect warnings generated by exhaustiveness checker with pattern synonyms / GADT combination</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/13969">#13969</a></th>
|
|
|
<td>Record pattern synonym incorrectly claims it's recursive, given unbound variable</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14058">#14058</a></th>
|
|
|
<td>Cannot bundle pattern synonym with exported data family</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14112">#14112</a></th>
|
|
|
<td>bang patterns on pattern synonyms? (left vs right hand sides)</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14114">#14114</a></th>
|
|
|
<td>Strange behavior when pattern variables are duplicated on pattern synonym RHS</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14135">#14135</a></th>
|
|
|
<td>PatternSynonyms regression in GHC HEAD (expectJust mkOneConFull)</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14228">#14228</a></th>
|
|
|
<td>PatternSynonyms Non-exhaustive with UnboxedSums</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14241">#14241</a></th>
|
|
|
<td>Pattern synonyms defined through other pattern synonyms produce `impossible happened` in ghci/runhaskell</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14326">#14326</a></th>
|
|
|
<td>Panic on COMPLETE pragma with mismatched type variable order</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14394">#14394</a></th>
|
|
|
<td>Inferred type for pattern synonym has redundant equality constraint</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14395">#14395</a></th>
|
|
|
<td>Redefining pattern synonym in GHCi triggers "‘p’ is untouchable" error</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14463">#14463</a></th>
|
|
|
<td>Pattern synonym for appliation</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14498">#14498</a></th>
|
|
|
<td>GHC internal error: "not in scope during TC but it passed the renamer"</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14507">#14507</a></th>
|
|
|
<td>Core Lint error with Type.Reflection and pattern synonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14552">#14552</a></th>
|
|
|
<td>GHC panic on pattern synonym</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14747">#14747</a></th>
|
|
|
<td>DisambiguateRecordFields fails for PatternSynonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/14803">#14803</a></th>
|
|
|
<td>Panic during desugaring I think</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/15289">#15289</a></th>
|
|
|
<td>isUnliftedType GHC panic on pattern with True :: Maybe</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/15685">#15685</a></th>
|
|
|
<td>Pattern signature not inferred</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/15692">#15692</a></th>
|
|
|
<td>GHC panic from pattern synonyms + deferred type errors</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/15886">#15886</a></th>
|
|
|
<td>Spurious warning about incomplete pattern with PatternSynonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/16129">#16129</a></th>
|
|
|
<td>Incorrect non-exhaustive pattern warning with PatternSynonyms</td></tr>
|
|
|
<tr><th><a href="https://gitlab.haskell.org/ghc/ghc/issues/16281">#16281</a></th>
|
|
|
<td>PatternSynonyms doesn't accept non-prenex quantified functions, doesn't float foralls</td></tr></table>
|
|
|
|
|
|
|
|
|
|