|
|
# Issues
|
|
|
|
|
|
|
|
|
|
|
|
Organized following the structure of the [ Haskell 98 Report](http://www.haskell.org/onlinereport/).
|
|
|
|
|
|
|
|
|
## Lexical Structure
|
|
|
|
|
|
- [UnicodeInHaskellSource](unicode-in-haskell-source)
|
|
|
- [Eliminate Tabs](tabs)
|
|
|
- [QualifiedIdentifiers](qualified-identifiers)
|
|
|
|
|
|
- [NondecreasingIndentation](nondecreasing-indentation)
|
|
|
- [Caseless Underscore](underscore)
|
|
|
|
|
|
## Expressions
|
|
|
|
|
|
- Errors
|
|
|
|
|
|
- [ImpreciseExceptions](imprecise-exceptions)
|
|
|
- [MagicUnderscore](magic-underscore)
|
|
|
- Variables, Constructors, Operators, and Literals
|
|
|
|
|
|
- [NegativeSyntax](negative-syntax)
|
|
|
- Curried Applications and Lambda Abstractions
|
|
|
- Operator Applications
|
|
|
- Sections
|
|
|
|
|
|
- [TupleSections](tuple-sections)
|
|
|
- [FlexiblePartialApplication](flexible-partial-application)
|
|
|
- Conditionals
|
|
|
|
|
|
- [DoAndIfThenElse](do-and-if-then-else)
|
|
|
- Lists
|
|
|
- Tuples
|
|
|
- Unit Expressions and Parenthesized Expressions
|
|
|
- Arithmetic Sequences
|
|
|
- List Comprehensions
|
|
|
|
|
|
- [ParallelListComp](parallel-list-comp)
|
|
|
- generalise to monad comprehensions
|
|
|
- Let Expressions
|
|
|
- Case Expressions
|
|
|
|
|
|
- [MultiWayIf](multi-way-if)
|
|
|
- [LambdaCase](lambda-case)
|
|
|
- Do Expressions
|
|
|
|
|
|
- [RecursiveDo](recursive-do)
|
|
|
- Datatypes with Field Labels
|
|
|
|
|
|
- [ExistingRecords](existing-records)
|
|
|
- numerous new record proposals
|
|
|
- Expression Type-Signatures
|
|
|
|
|
|
- [ExplicitQuantification](explicit-quantification)
|
|
|
- Pattern Matching
|
|
|
|
|
|
- [PatternGuards](pattern-guards)
|
|
|
- [Views](views)
|
|
|
- [BangPatterns](bang-patterns)
|
|
|
- Other expression forms (new)
|
|
|
|
|
|
- [Arrows](arrows)
|
|
|
- [TupleSections](tuple-sections)
|
|
|
- [ParallelListComp](parallel-list-comp)
|
|
|
- [RecursiveDo](recursive-do)
|
|
|
- [Arrows](arrows)
|
|
|
- [PatternGuards](pattern-guards)
|
|
|
|
|
|
## Declarations and Bindings
|
|
|
|
|
|
|
|
|
- Overview of Types and Classes
|
|
|
|
|
|
- [PartialTypeAnnotations](partial-type-annotations)
|
|
|
- [FlexibleContexts](flexible-contexts)
|
|
|
- [InfixTypeConstructors](infix-type-constructors)
|
|
|
- User-Defined Datatypes
|
|
|
|
|
|
- [ExistingRecords](existing-records)
|
|
|
- [EmptyDataDecls](empty-data-decls)
|
|
|
- [ExistentialTypeSynonyms](existential-type-synonyms)
|
|
|
- [PolymorphicComponents](polymorphic-components)
|
|
|
- [ExistentialQuantification](existential-quantification)
|
|
|
- [GADTs](gad-ts)
|
|
|
- [NewtypeDeriving](newtype-deriving)
|
|
|
- Type Classes and Overloading
|
|
|
|
|
|
- Class Declarations
|
|
|
|
|
|
- [ClassMethodTypes](class-method-types)
|
|
|
- [MultiParamTypeClasses](multi-param-type-classes)
|
|
|
- [FunctionalDependencies](functional-dependencies)
|
|
|
- [AssociatedTypes](associated-types)
|
|
|
- [ClosedClasses](closed-classes)
|
|
|
- Instance Declarations
|
|
|
|
|
|
- [TypeSynonymInstances](type-synonym-instances)
|
|
|
- [FlexibleInstances](flexible-instances) or [UndecidableInstances](undecidable-instances)
|
|
|
- [OverlappingInstances](overlapping-instances) or [IncoherentInstances](incoherent-instances)
|
|
|
- Ambiguous Types, and Defaults
|
|
|
|
|
|
- [Defaulting](defaulting)
|
|
|
- Implicit Parameters (new)
|
|
|
|
|
|
- [ImplicitParams](implicit-params)
|
|
|
- [LinearImplicitParams](linear-implicit-params)
|
|
|
- [ClassMethodTypes](class-method-types)
|
|
|
- [TypeSynonymInstances](type-synonym-instances)
|
|
|
- [FlexibleInstances](flexible-instances) or [UndecidableInstances](undecidable-instances)
|
|
|
- [MultiParamTypeClasses](multi-param-type-classes)
|
|
|
- [OverlappingInstances](overlapping-instances) or [IncoherentInstances](incoherent-instances)
|
|
|
- [FunctionalDependencies](functional-dependencies)
|
|
|
- [AssociatedTypes](associated-types)
|
|
|
- [Implicit parameters](implicit-params)
|
|
|
- [Linear implicit parameters](linear-implicit-params)
|
|
|
- Nested Declarations
|
|
|
|
|
|
- [Rank2Types](rank2-types) or [RankNTypes](rank-n-types)
|
|
|
- [ScopedTypeVariables](scoped-type-variables)
|
|
|
- Static Semantics of Function and Pattern Bindings
|
|
|
- [ExistingRecords](existing-records)
|
|
|
- Function and Pattern Bindings
|
|
|
|
|
|
- [RelaxedDependencyAnalysis](relaxed-dependency-analysis)
|
|
|
- [MonomorphismRestriction](monomorphism-restriction)
|
|
|
- Kinds
|
|
|
|
|
|
- [Kind Annotations](kind-annotations)
|
|
|
- [Kind Inference](kind-inference)
|
|
|
- [Kind Inference](kind-inference)
|
|
|
|
|
|
## Modules
|
|
|
|
|
|
|
|
|
- [HierarchicalModules](hierarchical-modules)
|
|
|
- [ModuleSystem](module-system)
|
|
|
- [ReadonlyConstructors](readonly-constructors)
|
|
|
- [AllowImportAnywhere](allow-import-anywhere)
|
|
|
- [TagExportsWithNamespace](tag-exports-with-namespace)
|
|
|
- [PermitSignaturesInExports](permit-signatures-in-exports)
|
|
|
|
|
|
## Predefined Types and Classes
|
|
|
|
|
|
- [CharAsUnicode](char-as-unicode)
|
|
|
- sized types currently specified in the [ForeignFunctionInterface](foreign-function-interface)
|
|
|
- [Natural numbers](natural)
|
|
|
- [Issues with standard classes](standard-classes)
|
|
|
|
|
|
## Basic Input/Output?
|
|
|
|
|
|
- [CharAsUnicode](char-as-unicode)
|
|
|
- [BinaryIO](binary-io)
|
|
|
|
|
|
## Standard Prelude
|
|
|
|
|
|
|
|
|
- [Shrink the Prelude](prelude)
|
|
|
|
|
|
## Specification of Derived Instances
|
|
|
|
|
|
|
|
|
- [DerivedInstances](derived-instances)
|
|
|
|
|
|
## Compiler Pragmas
|
|
|
|
|
|
|
|
|
- [NewPragmas](new-pragmas)
|
|
|
|
|
|
## Libraries
|
|
|
|
|
|
|
|
|
- [MinorLibraryChanges](minor-library-changes)
|
|
|
- [NewLibraryCandidates](new-library-candidates)
|
|
|
- [LibraryVersioning](library-versioning)
|
|
|
|
|
|
## Foreign Function Interface
|
|
|
## Addendum
|
|
|
|
|
|
|
|
|
- [ForeignFunctionInterface](foreign-function-interface)
|
|
|
- [ForeignData](foreign-data) |
|
|
- [ForeignBlocking](foreign-blocking) |
|
|
\ No newline at end of file |