| | 1 | [[PageOutline]] |
| | 2 | == Haskell' Status Page == |
| | 3 | DO NOT EDIT! This page is automatically generated by [http://darcs.haskell.org/haskell-prime-status/status.hs] |
| | 4 | === Complete Proposals === |
| | 5 | || fix comment syntax grammar (LineCommentSyntax) || #42 || Lexical || |
| | 6 | || add PatternGuards || #56 || Expressions || |
| | 7 | || DoAndIfThenElse || #23 || Syntax Reference || |
| | 8 | === Old Proposals (needing owners) === |
| | 9 | || Change the syntax of QualifiedOperators || || Lexical || |
| | 10 | || Remove upper/lower case distinction || || Lexical || |
| | 11 | || [http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000557.html require space around dot as operator] || || Lexical || See also #20 QualifiedIdentifiers |
| | 12 | || || || || See also CompositionAsDot |
| | 13 | || Eliminate tabs || #68 || Lexical || |
| | 14 | || fix the lexical syntax for QualifiedIdentifiers || #39 || Lexical || permit qualified identifiers in definitions? |
| | 15 | || || || || interaction with CompositionAsDot |
| | 16 | || Disambiguate record fields || || Expressions || [http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#disambiguate-fields GHC Users Guide] |
| | 17 | || RecordPatternMatching || || Expressions || |
| | 18 | || [http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#overloaded-strings Overload string literals] || || Expressions || |
| | 19 | || [wiki:ExistingRecords#PolymorphicRecordUpdatetakeII Polymorphic record update take II] || || Expressions || |
| | 20 | || [wiki:ExistingRecords#Openstatement Open statement] || || Expressions || |
| | 21 | || [wiki:ExistingRecords#Polymorphicrecordupdate Polymorphic record update] || || Expressions || |
| | 22 | || [wiki:ExistingRecords#Label-basedpattern-matching Label-based pattern-matching] || || Expressions || |
| | 23 | || [wiki:ExistingRecords#Update updating non-existant record fields] || || Expressions || |
| | 24 | || [wiki:ExistingRecords#Punning Re-allow record punning] || || Expressions || |
| | 25 | || Remove ~ patterns || || Expressions || see RemovalCandidates |
| | 26 | || Remove n+k patterns || || Expressions || see RemovalCandidates |
| | 27 | || add recursive do syntax || #64 || Expressions || |
| | 28 | || get rid of unary '-' operator || #50 || Expressions || |
| | 29 | || BangPatterns || #76 || Expressions || top-level bang patterns |
| | 30 | || || || || interaction with ! as an operator |
| | 31 | || || || || bang-pattern polymorphism |
| | 32 | || || || || existentials and bang patterns |
| | 33 | || || || || interaction with MonomorphicPatternBindings |
| | 34 | || remove FixityResolution from the context-free grammar || #30 || Expressions || |
| | 35 | || Allow GADT syntax for data types || || Declarations and Bindings || |
| | 36 | || [http://www.haskell.org/pipermail/haskell-prime/2008-April/002569.html Instance declarations can use qualified names] || || Declarations and Bindings || |
| | 37 | || [wiki:DerivingInstances] || || Declarations and Bindings || |
| | 38 | || LiberalTypeSynonyms || || Declarations and Bindings || subsumes TypeSynonymInstances |
| | 39 | || [wiki:DerivedInstances#Standalonederivedinstances Standalone Derived Instances] || || Declarations and Bindings || |
| | 40 | || [wiki:ExistingRecords#Abstraction Record abstraction tweak] || || Declarations and Bindings || |
| | 41 | || [wiki:ExistingRecords#First-classsyntax First-class record syntax] || || Declarations and Bindings || |
| | 42 | || Remove class context on data definitions || || Declarations and Bindings || see RemovalCandidates |
| | 43 | || add closed classes || #18 || Declarations and Bindings || [http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000535.html] |
| | 44 | || add Associated Types || #14 || Declarations and Bindings || |
| | 45 | || add FunctionalDependencies || #36 || Declarations and Bindings || |
| | 46 | || add overlapping or incoherent instances || #54 || Declarations and Bindings || |
| | 47 | || Allow Undecidable Instances || #71 || Declarations and Bindings || |
| | 48 | || add GADTs || #37 || Declarations and Bindings || |
| | 49 | || relax restriction on signatures of class methods || #17 || Declarations and Bindings || |
| | 50 | || [wiki:MonomorphismRestriction/MonomorphicBindingSyntax Add monomorphic binding syntax] || #80 || Declarations and Bindings || |
| | 51 | || [wiki:MonomorphismRestriction/MonomorphicBindingOperator Add a monomorphic binding operator] || #80 || Declarations and Bindings || |
| | 52 | || [wiki:MonomorphismRestriction/Remove Remove the monomorphism restriction] || #80 || Declarations and Bindings || |
| | 53 | || add First Class Labels || #92 || Declarations and Bindings || |
| | 54 | || add Flexible Contexts || #31 || Declarations and Bindings || |
| | 55 | || more liberal kind inference || #85 || Declarations and Bindings || |
| | 56 | || SpecifyPatternBindingSemantics || || Declarations and Bindings || |
| | 57 | || KindAnnotations || #84 || Declarations and Bindings || |
| | 58 | || improve [wiki:Defaulting] rules || #21 || Declarations and Bindings || scope of default clauses |
| | 59 | || || || || impact on existing defaults |
| | 60 | || generalized deriving for newtype (NewtypeDeriving) || #52 || Declarations and Bindings || specification that does not use the term "the same representation" |
| | 61 | || || || || overlap with TypeSynonymInstances |
| | 62 | || ScopedTypeVariables || #67 #81 || Declarations and Bindings || specification of syntax that binds type variables |
| | 63 | || FlexibleInstances || #32 || Declarations and Bindings || choice of instance conditions for termination of typechecking |
| | 64 | || || || || poor interaction with NewtypeDeriving? |
| | 65 | || RelaxedDependencyAnalysis || #65 || Declarations and Bindings || |
| | 66 | || allow TypeSynonymInstances || #70 || Declarations and Bindings || superseded by NewtypeDeriving? |
| | 67 | || || || || Not very useful without FlexibleInstances and/or OverlappingInstances |
| | 68 | || add InfixTypeConstructors || #78 || Declarations and Bindings || |
| | 69 | || add EmptyDataDeclarations || #25 || Declarations and Bindings || dependency on KindAnnotations |
| | 70 | || add ExistentialQuantification (existential components) || #26 || Declarations and Bindings || syntax of existentials |
| | 71 | || add PolymorphicComponents || #57 || Declarations and Bindings || Draft available |
| | 72 | || || || || dependency on Rank2Types or RankNTypes |
| | 73 | || add [wiki:RankNTypes] or [wiki:Rank2Types] || #60 || Declarations and Bindings || RankN or Rank2? |
| | 74 | || add multi-parameter type classes (MultiParamTypeClasses) || #49 || Declarations and Bindings || see MultiParamTypeClassesDilemma |
| | 75 | || [wiki:ImportShadowing Local declarations shadow imports] || || Modules || |
| | 76 | || namespace cleanup: TagExportsWithNamespace ModuleSystem || || Modules || |
| | 77 | || clarify module system proposals || #48 || Modules || |
| | 78 | || improve module interfaces || #95 || Modules || |
| | 79 | || add HierarchicalModules || #24 || Modules || See [http://www.haskell.org/hierarchical-modules/ addendum] |
| | 80 | || [wiki:Natural] numbers || #79 || Predefined Types and Classes || [http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000529.html] |
| | 81 | || add Blockable || #33 || FFI || |
| | 82 | || add ForeignData || #34 || FFI || |
| | 83 | || add ForeignFunctionInterface || #35 || FFI || |
| | 84 | || add [wiki:Concurrency] || #74 || Concurrency || draft text: [wiki:Concurrency/DraftReportText] |
| | 85 | || [wiki:ChangeDollarAssociativity Make $ left associative, like application] || || Standard Prelude || |
| | 86 | || [wiki:Prelude] re-organisation proposal || #58 || Standard Prelude || |
| | 87 | || unified and extensible annotations || #88 || Compiler Pragmas || |
| | 88 | || add NewPragmas || #51 || Compiler Pragmas || choose specific pragmas to standardize |
| | 89 | || Simpler layout specification || || Syntax Reference || [http://repetae.net/repos/getlaid/] |
| | 90 | || NondecreasingIndentation || #53 || Syntax Reference || |
| | 91 | || DoAndIfThenElse for case-statements too? || || Syntax Reference || |
| | 92 | || [wiki:ArrayIndexing Replace the array indexing operator] '!' || #96 || Libraries || |
| | 93 | || replace the Read class || #61 || Libraries || |
| | 94 | || add a binary IO interface || #15 || Libraries || |
| | 95 | || standardize the System.FilePath module || #89 || Libraries || |
| | 96 | === Old Proposals (provisionally rejected) === |
| | 97 | || Replace named fields with an extensible record system || #100 || N/A || |
| | 98 | || Move existing named field (record) system to an addendum || #99 || N/A || |
| | 99 | || [wiki:RemoveStringGaps Remove string gaps] || || Lexical || |
| | 100 | || [wiki:CompositionAsDot Eliminate . as an operator] || #20 || Lexical || |
| | 101 | || make [wiki:Underscore] caseless || #72 || Lexical || treatment of underscore-only identifiers |
| | 102 | || allow tuple sections || #69 || Expressions || |
| | 103 | || add MultiWayIf || #77 || Expressions || |
| | 104 | || Require explicit quantification on all expression bound type signatures || #28 || Expressions || |
| | 105 | || add LambdaCase || #41 || Expressions || |
| | 106 | || add MagicUnderscore || #44 || Expressions || |
| | 107 | || add [wiki:ParallelListComp Parallel List comprehensions] || #55 || Expressions || |
| | 108 | || add [wiki:Arrows] || #13 || Expressions || |
| | 109 | || Class aliases || #101 || Declarations and Bindings || |
| | 110 | || add implicit parameters || #38 || Declarations and Bindings || |
| | 111 | || add Linear implicit params || #43 || Declarations and Bindings || |
| | 112 | || add views || #73 || Declarations and Bindings || |
| | 113 | || [wiki:MonomorphismRestriction/MonomorphicVariableAndPatternBindings] || #80 || Declarations and Bindings || |
| | 114 | || [wiki:MonomorphismRestriction/Optional] || #80 || Declarations and Bindings || |
| | 115 | || add PartialTypeAnnotations || #86 || Declarations and Bindings || |
| | 116 | || MonomorphicPatternBindings || #103 || Declarations and Bindings || treatment of pattern bindings with explicit type signatures |
| | 117 | || control export and import of class instances || #19 || Modules || |
| | 118 | || Allow import declarations anywhere at the top level || #82 || Modules || |
| | 119 | || allow data constructors to be exported and imported readonly || #62 || Modules || |
| | 120 | || ImpreciseExceptions || #39 || Libraries || |
| | 121 | == Issues by Section == |
| | 122 | === Section: N/A === |
| | 123 | === Section: Introduction === |
| | 124 | === Section: Lexical === |
| | 125 | || fix comment syntax grammar (LineCommentSyntax) || #42 || complete || |
| | 126 | || Change the syntax of QualifiedOperators || || old || |
| | 127 | || Remove upper/lower case distinction || || old || |
| | 128 | || [http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000557.html require space around dot as operator] || || old || See also #20 QualifiedIdentifiers |
| | 129 | || || || || See also CompositionAsDot |
| | 130 | || Eliminate tabs || #68 || old || |
| | 131 | || fix the lexical syntax for QualifiedIdentifiers || #39 || old || permit qualified identifiers in definitions? |
| | 132 | || || || || interaction with CompositionAsDot |
| | 133 | === Section: Expressions === |
| | 134 | || add PatternGuards || #56 || complete || |
| | 135 | || Disambiguate record fields || || old || [http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#disambiguate-fields GHC Users Guide] |
| | 136 | || RecordPatternMatching || || old || |
| | 137 | || [http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#overloaded-strings Overload string literals] || || old || |
| | 138 | || [wiki:ExistingRecords#PolymorphicRecordUpdatetakeII Polymorphic record update take II] || || old || |
| | 139 | || [wiki:ExistingRecords#Openstatement Open statement] || || old || |
| | 140 | || [wiki:ExistingRecords#Polymorphicrecordupdate Polymorphic record update] || || old || |
| | 141 | || [wiki:ExistingRecords#Label-basedpattern-matching Label-based pattern-matching] || || old || |
| | 142 | || [wiki:ExistingRecords#Update updating non-existant record fields] || || old || |
| | 143 | || [wiki:ExistingRecords#Punning Re-allow record punning] || || old || |
| | 144 | || Remove ~ patterns || || old || see RemovalCandidates |
| | 145 | || Remove n+k patterns || || old || see RemovalCandidates |
| | 146 | || add recursive do syntax || #64 || old || |
| | 147 | || get rid of unary '-' operator || #50 || old || |
| | 148 | || BangPatterns || #76 || old || top-level bang patterns |
| | 149 | || || || || interaction with ! as an operator |
| | 150 | || || || || bang-pattern polymorphism |
| | 151 | || || || || existentials and bang patterns |
| | 152 | || || || || interaction with MonomorphicPatternBindings |
| | 153 | || remove FixityResolution from the context-free grammar || #30 || old || |
| | 154 | === Section: Declarations and Bindings === |
| | 155 | || Allow GADT syntax for data types || || old || |
| | 156 | || [http://www.haskell.org/pipermail/haskell-prime/2008-April/002569.html Instance declarations can use qualified names] || || old || |
| | 157 | || [wiki:DerivingInstances] || || old || |
| | 158 | || LiberalTypeSynonyms || || old || subsumes TypeSynonymInstances |
| | 159 | || [wiki:DerivedInstances#Standalonederivedinstances Standalone Derived Instances] || || old || |
| | 160 | || [wiki:ExistingRecords#Abstraction Record abstraction tweak] || || old || |
| | 161 | || [wiki:ExistingRecords#First-classsyntax First-class record syntax] || || old || |
| | 162 | || Remove class context on data definitions || || old || see RemovalCandidates |
| | 163 | || add closed classes || #18 || old || [http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000535.html] |
| | 164 | || add Associated Types || #14 || old || |
| | 165 | || add FunctionalDependencies || #36 || old || |
| | 166 | || add overlapping or incoherent instances || #54 || old || |
| | 167 | || Allow Undecidable Instances || #71 || old || |
| | 168 | || add GADTs || #37 || old || |
| | 169 | || relax restriction on signatures of class methods || #17 || old || |
| | 170 | || [wiki:MonomorphismRestriction/MonomorphicBindingSyntax Add monomorphic binding syntax] || #80 || old || |
| | 171 | || [wiki:MonomorphismRestriction/MonomorphicBindingOperator Add a monomorphic binding operator] || #80 || old || |
| | 172 | || [wiki:MonomorphismRestriction/Remove Remove the monomorphism restriction] || #80 || old || |
| | 173 | || add First Class Labels || #92 || old || |
| | 174 | || add Flexible Contexts || #31 || old || |
| | 175 | || more liberal kind inference || #85 || old || |
| | 176 | || SpecifyPatternBindingSemantics || || old || |
| | 177 | || KindAnnotations || #84 || old || |
| | 178 | || improve [wiki:Defaulting] rules || #21 || old || scope of default clauses |
| | 179 | || || || || impact on existing defaults |
| | 180 | || generalized deriving for newtype (NewtypeDeriving) || #52 || old || specification that does not use the term "the same representation" |
| | 181 | || || || || overlap with TypeSynonymInstances |
| | 182 | || ScopedTypeVariables || #67 #81 || old || specification of syntax that binds type variables |
| | 183 | || FlexibleInstances || #32 || old || choice of instance conditions for termination of typechecking |
| | 184 | || || || || poor interaction with NewtypeDeriving? |
| | 185 | || RelaxedDependencyAnalysis || #65 || old || |
| | 186 | || allow TypeSynonymInstances || #70 || old || superseded by NewtypeDeriving? |
| | 187 | || || || || Not very useful without FlexibleInstances and/or OverlappingInstances |
| | 188 | || add InfixTypeConstructors || #78 || old || |
| | 189 | || add EmptyDataDeclarations || #25 || old || dependency on KindAnnotations |
| | 190 | || add ExistentialQuantification (existential components) || #26 || old || syntax of existentials |
| | 191 | || add PolymorphicComponents || #57 || old || Draft available |
| | 192 | || || || || dependency on Rank2Types or RankNTypes |
| | 193 | || add [wiki:RankNTypes] or [wiki:Rank2Types] || #60 || old || RankN or Rank2? |
| | 194 | || add multi-parameter type classes (MultiParamTypeClasses) || #49 || old || see MultiParamTypeClassesDilemma |
| | 195 | === Section: Modules === |
| | 196 | || [wiki:ImportShadowing Local declarations shadow imports] || || old || |
| | 197 | || namespace cleanup: TagExportsWithNamespace ModuleSystem || || old || |
| | 198 | || clarify module system proposals || #48 || old || |
| | 199 | || improve module interfaces || #95 || old || |
| | 200 | || add HierarchicalModules || #24 || old || See [http://www.haskell.org/hierarchical-modules/ addendum] |
| | 201 | === Section: Predefined Types and Classes === |
| | 202 | || [wiki:Natural] numbers || #79 || old || [http://www.haskell.org/mailman/private/haskell-prime-private/2008-March/000529.html] |
| | 203 | === Section: FFI === |
| | 204 | || add Blockable || #33 || old || |
| | 205 | || add ForeignData || #34 || old || |
| | 206 | || add ForeignFunctionInterface || #35 || old || |
| | 207 | === Section: Concurrency === |
| | 208 | || add [wiki:Concurrency] || #74 || old || draft text: [wiki:Concurrency/DraftReportText] |
| | 209 | === Section: Basic I/O === |
| | 210 | === Section: Standard Prelude === |
| | 211 | || [wiki:ChangeDollarAssociativity Make $ left associative, like application] || || old || |
| | 212 | || [wiki:Prelude] re-organisation proposal || #58 || old || |
| | 213 | === Section: Specification of Derived Instances === |
| | 214 | === Section: Compiler Pragmas === |
| | 215 | || unified and extensible annotations || #88 || old || |
| | 216 | || add NewPragmas || #51 || old || choose specific pragmas to standardize |
| | 217 | === Section: Syntax Reference === |
| | 218 | || DoAndIfThenElse || #23 || complete || |
| | 219 | || Simpler layout specification || || old || [http://repetae.net/repos/getlaid/] |
| | 220 | || NondecreasingIndentation || #53 || old || |
| | 221 | || DoAndIfThenElse for case-statements too? || || old || |
| | 222 | === Section: Libraries === |
| | 223 | || [wiki:ArrayIndexing Replace the array indexing operator] '!' || #96 || old || |
| | 224 | || replace the Read class || #61 || old || |
| | 225 | || add a binary IO interface || #15 || old || |
| | 226 | || standardize the System.FilePath module || #89 || old || |