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