|Version 1 (modified by diatchki, 7 years ago) (diff)|
Organizing the Proposals
This page groups the various proposals for Haskell' into four distinct categories.
This category contains proposal that primarily addresses issues of lexing and parsing. Of particular importance are questions of ambiguity and understandability.
- fix lexical syntax for qualified idetnifiers
- make _ caseless
- fixity resolution
Primarily provides a convinient way to do something that we could pretty much do something similar previously.
(questions about usability and readability)
- New pragmas
- Bang patterns
- Deriving arbitrary instances for newtypes
- Improve defaulting rules
- Kind annotations
- Monomorphic pattern bindings
- Scoped type variables
This category contains proposals related to the type system and how the type checker works.
(Deep questions about the static behavior of programs.)
- #60 Higher-rank polymorphism (RankNTypes,Rank2Types,PolymorphicComponents
- #26 Existential quantification in datatypes
- #49 Multi-parameter type classes (see also MultiParamTypeClassesDilemma)
- Relaxed dependency analysis
- Flexible instances
Primarily provides sets of constants with specified operational behavior.
(Deep questions about dynamic behavior)
|fix the lexical syntax for QualifiedIdentifiers||#39||SM||permit qualified identifiers in definitions?|
|FlexibleInstances||#32||choice of instance conditions for termination of typechecking|
|poor interaction with NewtypeDeriving?|
|add NewPragmas||#51||JM||choose specific pragmas to standardize|
|make Underscore caseless||#72||RN||treatment of underscore-only identifiers|
|BangPatterns||#76||top-level bang patterns|
|interaction with ! as an operator|
|existentials and bang patterns|
|ScopedTypeVariables||#67, #81||MS||specification of syntax that binds type variables|
|generalized deriving for newtype (NewtypeDeriving)||#52||JM||specification that does not reference "the same representation"|
|overlap with TypeSynonymInstances|
|remove FixityResolution from the context-free grammar||#30||SM||None|
|improve Defaulting rules||#21||scope of default clauses|
|impact on existing defaults|
|MonomorphicPatternBindings||#103||RN||treatment of pattern bindings with explicit type signatures|