|
|
|
|
|
|
|
|
|
|
|
|
|
## Haskell' Status Page
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DO NOT EDIT! This page is automatically generated by [ http://darcs.haskell.org/haskell-prime-status/status.hs](http://darcs.haskell.org/haskell-prime-status/status.hs)
|
|
|
|
|
|
|
|
|
|
|
|
### Accepted Proposals
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> Change the syntax of [QualifiedOperators](qualified-operators) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Lexical
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Remove n+k patterns </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Expressions </th>
|
|
|
|
<th> see [RemovalCandidates](removal-candidates)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> remove [FixityResolution](fixity-resolution) from the context-free grammar </th>
|
|
|
|
<th> [\#30](https://gitlab.haskell.org//haskell/prime/issues/30) </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Remove the monomorphism restriction](monomorphism-restriction/remove) </th>
|
|
|
|
<th> [\#80](https://gitlab.haskell.org//haskell/prime/issues/80) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [SpecifyPatternBindingSemantics](specify-pattern-binding-semantics) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [KindAnnotations](kind-annotations) </th>
|
|
|
|
<th> [\#84](https://gitlab.haskell.org//haskell/prime/issues/84) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [ScopedTypeVariables](scoped-type-variables) </th>
|
|
|
|
<th> [\#67](https://gitlab.haskell.org//haskell/prime/issues/67) [\#81](https://gitlab.haskell.org//haskell/prime/issues/81) </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> specification of syntax that binds type variables
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [RelaxedDependencyAnalysis](relaxed-dependency-analysis) </th>
|
|
|
|
<th> [\#65](https://gitlab.haskell.org//haskell/prime/issues/65) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [InfixTypeConstructors](infix-type-constructors) </th>
|
|
|
|
<th> [\#78](https://gitlab.haskell.org//haskell/prime/issues/78) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [EmptyDataDeclarations](empty-data-declarations) </th>
|
|
|
|
<th> [\#25](https://gitlab.haskell.org//haskell/prime/issues/25) </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> dependency on [KindAnnotations](kind-annotations)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add [ExistentialQuantification](existential-quantification) (existential components) </th>
|
|
|
|
<th> [\#26](https://gitlab.haskell.org//haskell/prime/issues/26) </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> syntax of existentials
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add [PolymorphicComponents](polymorphic-components) </th>
|
|
|
|
<th> [\#57](https://gitlab.haskell.org//haskell/prime/issues/57) </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> Draft available
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> dependency on Rank2Types or RankNTypes
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add [RankNTypes](rank-n-types) or [Rank2Types](rank2-types) </th>
|
|
|
|
<th> [\#60](https://gitlab.haskell.org//haskell/prime/issues/60) </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> RankN or Rank2?
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add multi-parameter type classes ([MultiParamTypeClasses](multi-param-type-classes)) </th>
|
|
|
|
<th> [\#49](https://gitlab.haskell.org//haskell/prime/issues/49) </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> see [MultiParamTypeClassesDilemma](multi-param-type-classes-dilemma)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add [HierarchicalModules](hierarchical-modules) </th>
|
|
|
|
<th> [\#24](https://gitlab.haskell.org//haskell/prime/issues/24) </th>
|
|
|
|
<th> Modules </th>
|
|
|
|
<th> See [ addendum](http://www.haskell.org/hierarchical-modules/)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add [ForeignFunctionInterface](foreign-function-interface) </th>
|
|
|
|
<th> [\#35](https://gitlab.haskell.org//haskell/prime/issues/35) </th>
|
|
|
|
<th> FFI
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [Concurrency](concurrency) </th>
|
|
|
|
<th> [\#74](https://gitlab.haskell.org//haskell/prime/issues/74) </th>
|
|
|
|
<th> Concurrency </th>
|
|
|
|
<th> draft text: [Concurrency/DraftReportText](concurrency/draft-report-text)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [NondecreasingIndentation](nondecreasing-indentation) </th>
|
|
|
|
<th> [\#53](https://gitlab.haskell.org//haskell/prime/issues/53) </th>
|
|
|
|
<th> Syntax Reference
|
|
|
|
</th>
|
|
|
|
<th></th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
### Completed Proposals
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> fix comment syntax grammar ([LineCommentSyntax](line-comment-syntax)) </th>
|
|
|
|
<th> [\#42](https://gitlab.haskell.org//haskell/prime/issues/42) </th>
|
|
|
|
<th> Lexical
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add [PatternGuards](pattern-guards) </th>
|
|
|
|
<th> [\#56](https://gitlab.haskell.org//haskell/prime/issues/56) </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [DoAndIfThenElse](do-and-if-then-else) </th>
|
|
|
|
<th> [\#23](https://gitlab.haskell.org//haskell/prime/issues/23) </th>
|
|
|
|
<th> Syntax Reference
|
|
|
|
</th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
### Rejected Proposals
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> Replace named fields with an extensible record system </th>
|
|
|
|
<th> [\#100](https://gitlab.haskell.org//haskell/prime/issues/100) </th>
|
|
|
|
<th> N/A
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Move existing named field (record) system to an addendum </th>
|
|
|
|
<th> [\#99](https://gitlab.haskell.org//haskell/prime/issues/99) </th>
|
|
|
|
<th> N/A
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Remove string gaps](remove-string-gaps) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Lexical
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Eliminate . as an operator](composition-as-dot) </th>
|
|
|
|
<th> [\#20](https://gitlab.haskell.org//haskell/prime/issues/20) </th>
|
|
|
|
<th> Lexical
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> make [Underscore](underscore) caseless </th>
|
|
|
|
<th> [\#72](https://gitlab.haskell.org//haskell/prime/issues/72) </th>
|
|
|
|
<th> Lexical </th>
|
|
|
|
<th> treatment of underscore-only identifiers
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> allow tuple sections </th>
|
|
|
|
<th> [\#69](https://gitlab.haskell.org//haskell/prime/issues/69) </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [MultiWayIf](multi-way-if) </th>
|
|
|
|
<th> [\#77](https://gitlab.haskell.org//haskell/prime/issues/77) </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Require explicit quantification on all expression bound type signatures </th>
|
|
|
|
<th> [\#28](https://gitlab.haskell.org//haskell/prime/issues/28) </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [LambdaCase](lambda-case) </th>
|
|
|
|
<th> [\#41](https://gitlab.haskell.org//haskell/prime/issues/41) </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [MagicUnderscore](magic-underscore) </th>
|
|
|
|
<th> [\#44](https://gitlab.haskell.org//haskell/prime/issues/44) </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [Parallel List comprehensions](parallel-list-comp) </th>
|
|
|
|
<th> [\#55](https://gitlab.haskell.org//haskell/prime/issues/55) </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [Arrows](arrows) </th>
|
|
|
|
<th> [\#13](https://gitlab.haskell.org//haskell/prime/issues/13) </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Class aliases </th>
|
|
|
|
<th> [\#101](https://gitlab.haskell.org//haskell/prime/issues/101) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add implicit parameters </th>
|
|
|
|
<th> [\#38](https://gitlab.haskell.org//haskell/prime/issues/38) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add Linear implicit params </th>
|
|
|
|
<th> [\#43](https://gitlab.haskell.org//haskell/prime/issues/43) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add views </th>
|
|
|
|
<th> [\#73](https://gitlab.haskell.org//haskell/prime/issues/73) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [MonomorphismRestriction/MonomorphicVariableAndPatternBindings](monomorphism-restriction/monomorphic-variable-and-pattern-bindings) </th>
|
|
|
|
<th> [\#80](https://gitlab.haskell.org//haskell/prime/issues/80) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [MonomorphismRestriction/Optional](monomorphism-restriction/optional) </th>
|
|
|
|
<th> [\#80](https://gitlab.haskell.org//haskell/prime/issues/80) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [PartialTypeAnnotations](partial-type-annotations) </th>
|
|
|
|
<th> [\#86](https://gitlab.haskell.org//haskell/prime/issues/86) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [MonomorphicPatternBindings](monomorphic-pattern-bindings) </th>
|
|
|
|
<th> [\#103](https://gitlab.haskell.org//haskell/prime/issues/103) </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> treatment of pattern bindings with explicit type signatures
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> control export and import of class instances </th>
|
|
|
|
<th> [\#19](https://gitlab.haskell.org//haskell/prime/issues/19) </th>
|
|
|
|
<th> Modules
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Allow import declarations anywhere at the top level </th>
|
|
|
|
<th> [\#82](https://gitlab.haskell.org//haskell/prime/issues/82) </th>
|
|
|
|
<th> Modules
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> allow data constructors to be exported and imported readonly </th>
|
|
|
|
<th> [\#62](https://gitlab.haskell.org//haskell/prime/issues/62) </th>
|
|
|
|
<th> Modules
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Make $ left associative, like application](change-dollar-associativity) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Standard Prelude
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [ImpreciseExceptions](imprecise-exceptions) </th>
|
|
|
|
<th> [\#39](https://gitlab.haskell.org//haskell/prime/issues/39) </th>
|
|
|
|
<th> Libraries
|
|
|
|
</th>
|
|
|
|
<th></th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
### Undecided Proposals
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> Remove upper/lower case distinction </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Lexical
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [ require space around dot as operator](http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000557.html) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Lexical </th>
|
|
|
|
<th> See also [\#20](https://gitlab.haskell.org//haskell/prime/issues/20) [QualifiedIdentifiers](qualified-identifiers)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> See also [CompositionAsDot](composition-as-dot)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> Eliminate tabs </th>
|
|
|
|
<th> [\#68](https://gitlab.haskell.org//haskell/prime/issues/68) </th>
|
|
|
|
<th> Lexical
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> fix the lexical syntax for [QualifiedIdentifiers](qualified-identifiers) </th>
|
|
|
|
<th> [\#39](https://gitlab.haskell.org//haskell/prime/issues/39) </th>
|
|
|
|
<th> Lexical </th>
|
|
|
|
<th> permit qualified identifiers in definitions?
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> interaction with [CompositionAsDot](composition-as-dot)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> Disambiguate record fields </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Expressions </th>
|
|
|
|
<th> [ GHC Users Guide](http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#disambiguate-fields)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [RecordPatternMatching](record-pattern-matching) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [ Overload string literals](http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#overloaded-strings) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Polymorphic record update take II](existing-records#polymorphic-record-update-take-ii) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Open statement](existing-records#'open'-statement) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Polymorphic record update](existing-records#polymorphic-record-update) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Label-based pattern-matching](existing-records#) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [updating non-existant record fields](existing-records#update) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Re-allow record punning](existing-records#punning) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Remove \~ patterns </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Expressions </th>
|
|
|
|
<th> see [RemovalCandidates](removal-candidates)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add recursive do syntax </th>
|
|
|
|
<th> [\#64](https://gitlab.haskell.org//haskell/prime/issues/64) </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> get rid of unary '-' operator </th>
|
|
|
|
<th> [\#50](https://gitlab.haskell.org//haskell/prime/issues/50) </th>
|
|
|
|
<th> Expressions
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [BangPatterns](bang-patterns) </th>
|
|
|
|
<th> [\#76](https://gitlab.haskell.org//haskell/prime/issues/76) </th>
|
|
|
|
<th> Expressions </th>
|
|
|
|
<th> top-level bang patterns
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> interaction with ! as an operator
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> bang-pattern polymorphism
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> existentials and bang patterns
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> interaction with [MonomorphicPatternBindings](monomorphic-pattern-bindings)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> Allow GADT syntax for data types </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [ Instance declarations can use qualified names](http://www.haskell.org/pipermail/haskell-prime/2008-April/002569.html) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [DerivingInstances](deriving-instances) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [LiberalTypeSynonyms](liberal-type-synonyms) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> subsumes [TypeSynonymInstances](type-synonym-instances)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [Standalone Derived Instances](derived-instances#standalone-derived-instances) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Record abstraction tweak](existing-records#abstraction) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [First-class record syntax](existing-records#) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Remove class context on data definitions </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> see [RemovalCandidates](removal-candidates)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add closed classes </th>
|
|
|
|
<th> [\#18](https://gitlab.haskell.org//haskell/prime/issues/18) </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> [ http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000535.html](http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000535.html)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add Associated Types </th>
|
|
|
|
<th> [\#14](https://gitlab.haskell.org//haskell/prime/issues/14) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [FunctionalDependencies](functional-dependencies) </th>
|
|
|
|
<th> [\#36](https://gitlab.haskell.org//haskell/prime/issues/36) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add overlapping or incoherent instances </th>
|
|
|
|
<th> [\#54](https://gitlab.haskell.org//haskell/prime/issues/54) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Allow Undecidable Instances </th>
|
|
|
|
<th> [\#71](https://gitlab.haskell.org//haskell/prime/issues/71) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add GADTs </th>
|
|
|
|
<th> [\#37](https://gitlab.haskell.org//haskell/prime/issues/37) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> relax restriction on signatures of class methods </th>
|
|
|
|
<th> [\#17](https://gitlab.haskell.org//haskell/prime/issues/17) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Add monomorphic binding syntax](monomorphism-restriction/monomorphic-binding-syntax) </th>
|
|
|
|
<th> [\#80](https://gitlab.haskell.org//haskell/prime/issues/80) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Add a monomorphic binding operator](monomorphism-restriction/monomorphic-binding-operator) </th>
|
|
|
|
<th> [\#80](https://gitlab.haskell.org//haskell/prime/issues/80) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add First Class Labels </th>
|
|
|
|
<th> [\#92](https://gitlab.haskell.org//haskell/prime/issues/92) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add Flexible Contexts </th>
|
|
|
|
<th> [\#31](https://gitlab.haskell.org//haskell/prime/issues/31) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> more liberal kind inference </th>
|
|
|
|
<th> [\#85](https://gitlab.haskell.org//haskell/prime/issues/85) </th>
|
|
|
|
<th> Declarations and Bindings
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> improve [Defaulting](defaulting) rules </th>
|
|
|
|
<th> [\#21](https://gitlab.haskell.org//haskell/prime/issues/21) </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> scope of default clauses
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> impact on existing defaults
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> generalized deriving for newtype ([NewtypeDeriving](newtype-deriving)) </th>
|
|
|
|
<th> [\#52](https://gitlab.haskell.org//haskell/prime/issues/52) </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> specification that does not use the term "the same representation"
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> overlap with [TypeSynonymInstances](type-synonym-instances)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [FlexibleInstances](flexible-instances) </th>
|
|
|
|
<th> [\#32](https://gitlab.haskell.org//haskell/prime/issues/32) </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> choice of instance conditions for termination of typechecking
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> poor interaction with [NewtypeDeriving](newtype-deriving)?
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> allow [TypeSynonymInstances](type-synonym-instances) </th>
|
|
|
|
<th> [\#70](https://gitlab.haskell.org//haskell/prime/issues/70) </th>
|
|
|
|
<th> Declarations and Bindings </th>
|
|
|
|
<th> superseded by [NewtypeDeriving](newtype-deriving)?
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Not very useful without [FlexibleInstances](flexible-instances) and/or [OverlappingInstances](overlapping-instances)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [Local declarations shadow imports](import-shadowing) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Modules
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> namespace cleanup: [TagExportsWithNamespace](tag-exports-with-namespace) [ModuleSystem](module-system) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Modules
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> clarify module system proposals </th>
|
|
|
|
<th> [\#48](https://gitlab.haskell.org//haskell/prime/issues/48) </th>
|
|
|
|
<th> Modules
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> improve module interfaces </th>
|
|
|
|
<th> [\#95](https://gitlab.haskell.org//haskell/prime/issues/95) </th>
|
|
|
|
<th> Modules
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Natural](natural) numbers </th>
|
|
|
|
<th> [\#79](https://gitlab.haskell.org//haskell/prime/issues/79) </th>
|
|
|
|
<th> Predefined Types and Classes </th>
|
|
|
|
<th> [ http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000529.html](http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000529.html)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add Blockable </th>
|
|
|
|
<th> [\#33](https://gitlab.haskell.org//haskell/prime/issues/33) </th>
|
|
|
|
<th> FFI
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [ForeignData](foreign-data) </th>
|
|
|
|
<th> [\#34](https://gitlab.haskell.org//haskell/prime/issues/34) </th>
|
|
|
|
<th> FFI
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Prelude](prelude) re-organisation proposal </th>
|
|
|
|
<th> [\#58](https://gitlab.haskell.org//haskell/prime/issues/58) </th>
|
|
|
|
<th> Standard Prelude
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> unified and extensible annotations </th>
|
|
|
|
<th> [\#88](https://gitlab.haskell.org//haskell/prime/issues/88) </th>
|
|
|
|
<th> Compiler Pragmas
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [NewPragmas](new-pragmas) </th>
|
|
|
|
<th> [\#51](https://gitlab.haskell.org//haskell/prime/issues/51) </th>
|
|
|
|
<th> Compiler Pragmas </th>
|
|
|
|
<th> choose specific pragmas to standardize
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> Simpler layout specification </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Syntax Reference </th>
|
|
|
|
<th> [ http://repetae.net/repos/getlaid/](http://repetae.net/repos/getlaid/)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [DoAndIfThenElse](do-and-if-then-else) for case-statements too? </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Syntax Reference
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Replace the array indexing operator](array-indexing) '!' </th>
|
|
|
|
<th> [\#96](https://gitlab.haskell.org//haskell/prime/issues/96) </th>
|
|
|
|
<th> Libraries
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> replace the Read class </th>
|
|
|
|
<th> [\#61](https://gitlab.haskell.org//haskell/prime/issues/61) </th>
|
|
|
|
<th> Libraries
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add a binary IO interface </th>
|
|
|
|
<th> [\#15](https://gitlab.haskell.org//haskell/prime/issues/15) </th>
|
|
|
|
<th> Libraries
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> standardize the System.FilePath? module </th>
|
|
|
|
<th> [\#89](https://gitlab.haskell.org//haskell/prime/issues/89) </th>
|
|
|
|
<th> Libraries
|
|
|
|
</th>
|
|
|
|
<th></th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
## Issues by Section
|
|
|
|
|
|
|
|
|
|
|
|
### Section: N/A
|
|
|
|
|
|
|
|
|
|
|
|
### Section: Introduction
|
|
|
|
|
|
|
|
|
|
|
|
### Section: Lexical
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> Change the syntax of [QualifiedOperators](qualified-operators) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> accepted
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> fix comment syntax grammar ([LineCommentSyntax](line-comment-syntax)) </th>
|
|
|
|
<th> [\#42](https://gitlab.haskell.org//haskell/prime/issues/42) </th>
|
|
|
|
<th> done
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Remove upper/lower case distinction </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [ require space around dot as operator](http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000557.html) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> See also [\#20](https://gitlab.haskell.org//haskell/prime/issues/20) [QualifiedIdentifiers](qualified-identifiers)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> See also [CompositionAsDot](composition-as-dot)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> Eliminate tabs </th>
|
|
|
|
<th> [\#68](https://gitlab.haskell.org//haskell/prime/issues/68) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> fix the lexical syntax for [QualifiedIdentifiers](qualified-identifiers) </th>
|
|
|
|
<th> [\#39](https://gitlab.haskell.org//haskell/prime/issues/39) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> permit qualified identifiers in definitions?
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> interaction with [CompositionAsDot](composition-as-dot)
|
|
|
|
</th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
### Section: Expressions
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> Remove n+k patterns </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> accepted </th>
|
|
|
|
<th> see [RemovalCandidates](removal-candidates)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> remove [FixityResolution](fixity-resolution) from the context-free grammar </th>
|
|
|
|
<th> [\#30](https://gitlab.haskell.org//haskell/prime/issues/30) </th>
|
|
|
|
<th> accepted
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [PatternGuards](pattern-guards) </th>
|
|
|
|
<th> [\#56](https://gitlab.haskell.org//haskell/prime/issues/56) </th>
|
|
|
|
<th> done
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Disambiguate record fields </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> [ GHC Users Guide](http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#disambiguate-fields)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [RecordPatternMatching](record-pattern-matching) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [ Overload string literals](http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#overloaded-strings) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Polymorphic record update take II](existing-records#polymorphic-record-update-take-ii) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Open statement](existing-records#'open'-statement) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Polymorphic record update](existing-records#polymorphic-record-update) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Label-based pattern-matching](existing-records#) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [updating non-existant record fields](existing-records#update) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Re-allow record punning](existing-records#punning) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Remove \~ patterns </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> see [RemovalCandidates](removal-candidates)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add recursive do syntax </th>
|
|
|
|
<th> [\#64](https://gitlab.haskell.org//haskell/prime/issues/64) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> get rid of unary '-' operator </th>
|
|
|
|
<th> [\#50](https://gitlab.haskell.org//haskell/prime/issues/50) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [BangPatterns](bang-patterns) </th>
|
|
|
|
<th> [\#76](https://gitlab.haskell.org//haskell/prime/issues/76) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> top-level bang patterns
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> interaction with ! as an operator
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> bang-pattern polymorphism
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> existentials and bang patterns
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> interaction with [MonomorphicPatternBindings](monomorphic-pattern-bindings)
|
|
|
|
</th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
### Section: Declarations and Bindings
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> [Remove the monomorphism restriction](monomorphism-restriction/remove) </th>
|
|
|
|
<th> [\#80](https://gitlab.haskell.org//haskell/prime/issues/80) </th>
|
|
|
|
<th> accepted
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [SpecifyPatternBindingSemantics](specify-pattern-binding-semantics) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> accepted
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [KindAnnotations](kind-annotations) </th>
|
|
|
|
<th> [\#84](https://gitlab.haskell.org//haskell/prime/issues/84) </th>
|
|
|
|
<th> accepted
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [ScopedTypeVariables](scoped-type-variables) </th>
|
|
|
|
<th> [\#67](https://gitlab.haskell.org//haskell/prime/issues/67) [\#81](https://gitlab.haskell.org//haskell/prime/issues/81) </th>
|
|
|
|
<th> accepted </th>
|
|
|
|
<th> specification of syntax that binds type variables
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [RelaxedDependencyAnalysis](relaxed-dependency-analysis) </th>
|
|
|
|
<th> [\#65](https://gitlab.haskell.org//haskell/prime/issues/65) </th>
|
|
|
|
<th> accepted
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [InfixTypeConstructors](infix-type-constructors) </th>
|
|
|
|
<th> [\#78](https://gitlab.haskell.org//haskell/prime/issues/78) </th>
|
|
|
|
<th> accepted
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [EmptyDataDeclarations](empty-data-declarations) </th>
|
|
|
|
<th> [\#25](https://gitlab.haskell.org//haskell/prime/issues/25) </th>
|
|
|
|
<th> accepted </th>
|
|
|
|
<th> dependency on [KindAnnotations](kind-annotations)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add [ExistentialQuantification](existential-quantification) (existential components) </th>
|
|
|
|
<th> [\#26](https://gitlab.haskell.org//haskell/prime/issues/26) </th>
|
|
|
|
<th> accepted </th>
|
|
|
|
<th> syntax of existentials
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add [PolymorphicComponents](polymorphic-components) </th>
|
|
|
|
<th> [\#57](https://gitlab.haskell.org//haskell/prime/issues/57) </th>
|
|
|
|
<th> accepted </th>
|
|
|
|
<th> Draft available
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> dependency on Rank2Types or RankNTypes
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add [RankNTypes](rank-n-types) or [Rank2Types](rank2-types) </th>
|
|
|
|
<th> [\#60](https://gitlab.haskell.org//haskell/prime/issues/60) </th>
|
|
|
|
<th> accepted </th>
|
|
|
|
<th> RankN or Rank2?
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add multi-parameter type classes ([MultiParamTypeClasses](multi-param-type-classes)) </th>
|
|
|
|
<th> [\#49](https://gitlab.haskell.org//haskell/prime/issues/49) </th>
|
|
|
|
<th> accepted </th>
|
|
|
|
<th> see [MultiParamTypeClassesDilemma](multi-param-type-classes-dilemma)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> Allow GADT syntax for data types </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [ Instance declarations can use qualified names](http://www.haskell.org/pipermail/haskell-prime/2008-April/002569.html) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [DerivingInstances](deriving-instances) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [LiberalTypeSynonyms](liberal-type-synonyms) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> subsumes [TypeSynonymInstances](type-synonym-instances)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [Standalone Derived Instances](derived-instances#standalone-derived-instances) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Record abstraction tweak](existing-records#abstraction) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [First-class record syntax](existing-records#) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Remove class context on data definitions </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> see [RemovalCandidates](removal-candidates)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add closed classes </th>
|
|
|
|
<th> [\#18](https://gitlab.haskell.org//haskell/prime/issues/18) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> [ http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000535.html](http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000535.html)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add Associated Types </th>
|
|
|
|
<th> [\#14](https://gitlab.haskell.org//haskell/prime/issues/14) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [FunctionalDependencies](functional-dependencies) </th>
|
|
|
|
<th> [\#36](https://gitlab.haskell.org//haskell/prime/issues/36) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add overlapping or incoherent instances </th>
|
|
|
|
<th> [\#54](https://gitlab.haskell.org//haskell/prime/issues/54) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Allow Undecidable Instances </th>
|
|
|
|
<th> [\#71](https://gitlab.haskell.org//haskell/prime/issues/71) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add GADTs </th>
|
|
|
|
<th> [\#37](https://gitlab.haskell.org//haskell/prime/issues/37) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> relax restriction on signatures of class methods </th>
|
|
|
|
<th> [\#17](https://gitlab.haskell.org//haskell/prime/issues/17) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Add monomorphic binding syntax](monomorphism-restriction/monomorphic-binding-syntax) </th>
|
|
|
|
<th> [\#80](https://gitlab.haskell.org//haskell/prime/issues/80) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [Add a monomorphic binding operator](monomorphism-restriction/monomorphic-binding-operator) </th>
|
|
|
|
<th> [\#80](https://gitlab.haskell.org//haskell/prime/issues/80) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add First Class Labels </th>
|
|
|
|
<th> [\#92](https://gitlab.haskell.org//haskell/prime/issues/92) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add Flexible Contexts </th>
|
|
|
|
<th> [\#31](https://gitlab.haskell.org//haskell/prime/issues/31) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> more liberal kind inference </th>
|
|
|
|
<th> [\#85](https://gitlab.haskell.org//haskell/prime/issues/85) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> improve [Defaulting](defaulting) rules </th>
|
|
|
|
<th> [\#21](https://gitlab.haskell.org//haskell/prime/issues/21) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> scope of default clauses
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> impact on existing defaults
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> generalized deriving for newtype ([NewtypeDeriving](newtype-deriving)) </th>
|
|
|
|
<th> [\#52](https://gitlab.haskell.org//haskell/prime/issues/52) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> specification that does not use the term "the same representation"
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> overlap with [TypeSynonymInstances](type-synonym-instances)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [FlexibleInstances](flexible-instances) </th>
|
|
|
|
<th> [\#32](https://gitlab.haskell.org//haskell/prime/issues/32) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> choice of instance conditions for termination of typechecking
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> poor interaction with [NewtypeDeriving](newtype-deriving)?
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> allow [TypeSynonymInstances](type-synonym-instances) </th>
|
|
|
|
<th> [\#70](https://gitlab.haskell.org//haskell/prime/issues/70) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> superseded by [NewtypeDeriving](newtype-deriving)?
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> Not very useful without [FlexibleInstances](flexible-instances) and/or [OverlappingInstances](overlapping-instances)
|
|
|
|
</th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
### Section: Modules
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> add [HierarchicalModules](hierarchical-modules) </th>
|
|
|
|
<th> [\#24](https://gitlab.haskell.org//haskell/prime/issues/24) </th>
|
|
|
|
<th> accepted </th>
|
|
|
|
<th> See [ addendum](http://www.haskell.org/hierarchical-modules/)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [Local declarations shadow imports](import-shadowing) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> namespace cleanup: [TagExportsWithNamespace](tag-exports-with-namespace) [ModuleSystem](module-system) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> clarify module system proposals </th>
|
|
|
|
<th> [\#48](https://gitlab.haskell.org//haskell/prime/issues/48) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> improve module interfaces </th>
|
|
|
|
<th> [\#95](https://gitlab.haskell.org//haskell/prime/issues/95) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
### Section: Predefined Types and Classes
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> [Natural](natural) numbers </th>
|
|
|
|
<th> [\#79](https://gitlab.haskell.org//haskell/prime/issues/79) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> [ http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000529.html](http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000529.html)
|
|
|
|
</th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
### Section: FFI
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> add [ForeignFunctionInterface](foreign-function-interface) </th>
|
|
|
|
<th> [\#35](https://gitlab.haskell.org//haskell/prime/issues/35) </th>
|
|
|
|
<th> accepted
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add Blockable </th>
|
|
|
|
<th> [\#33](https://gitlab.haskell.org//haskell/prime/issues/33) </th>
|
|
|
|
<th>
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add [ForeignData](foreign-data) </th>
|
|
|
|
<th> [\#34](https://gitlab.haskell.org//haskell/prime/issues/34) </th>
|
|
|
|
<th>
|
|
|
|
</th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
### Section: Concurrency
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> add [Concurrency](concurrency) </th>
|
|
|
|
<th> [\#74](https://gitlab.haskell.org//haskell/prime/issues/74) </th>
|
|
|
|
<th> accepted </th>
|
|
|
|
<th> draft text: [Concurrency/DraftReportText](concurrency/draft-report-text)
|
|
|
|
</th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
### Section: Basic I/O
|
|
|
|
|
|
|
|
|
|
|
|
### Section: Standard Prelude
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> [Prelude](prelude) re-organisation proposal </th>
|
|
|
|
<th> [\#58](https://gitlab.haskell.org//haskell/prime/issues/58) </th>
|
|
|
|
<th>
|
|
|
|
</th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
### Section: Specification of Derived Instances
|
|
|
|
|
|
|
|
|
|
|
|
### Section: Compiler Pragmas
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> unified and extensible annotations </th>
|
|
|
|
<th> [\#88](https://gitlab.haskell.org//haskell/prime/issues/88) </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> add [NewPragmas](new-pragmas) </th>
|
|
|
|
<th> [\#51](https://gitlab.haskell.org//haskell/prime/issues/51) </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> choose specific pragmas to standardize
|
|
|
|
</th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
### Section: Syntax Reference
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> [NondecreasingIndentation](nondecreasing-indentation) </th>
|
|
|
|
<th> [\#53](https://gitlab.haskell.org//haskell/prime/issues/53) </th>
|
|
|
|
<th> accepted
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> [DoAndIfThenElse](do-and-if-then-else) </th>
|
|
|
|
<th> [\#23](https://gitlab.haskell.org//haskell/prime/issues/23) </th>
|
|
|
|
<th> done
|
|
|
|
</th>
|
|
|
|
<th></th></tr>
|
|
|
|
<tr><th> Simpler layout specification </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> </th>
|
|
|
|
<th> [ http://repetae.net/repos/getlaid/](http://repetae.net/repos/getlaid/)
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> [DoAndIfThenElse](do-and-if-then-else) for case-statements too? </th>
|
|
|
|
<th> </th>
|
|
|
|
<th>
|
|
|
|
</th>
|
|
|
|
<th></th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
### Section: Libraries
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> [Replace the array indexing operator](array-indexing) '!' </th>
|
|
|
|
<th> [\#96](https://gitlab.haskell.org//haskell/prime/issues/96) </th>
|
|
|
|
<th>
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> replace the Read class </th>
|
|
|
|
<th> [\#61](https://gitlab.haskell.org//haskell/prime/issues/61) </th>
|
|
|
|
<th>
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> add a binary IO interface </th>
|
|
|
|
<th> [\#15](https://gitlab.haskell.org//haskell/prime/issues/15) </th>
|
|
|
|
<th>
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> standardize the System.FilePath? module </th>
|
|
|
|
<th> [\#89](https://gitlab.haskell.org//haskell/prime/issues/89) </th>
|
|
|
|
<th>
|
|
|
|
</th></tr></table>
|
|
|
|
|
|
|
|
|
|
|