haskell-src-exts v1.15.0.1 Release Notes
-
๐ New language features:
- DoRec
- Closed type families
- GADT records
- ExplicitNamespaces
- Type equality constraints
- PolyKinds
- DataKinds
- 0๏ธโฃ Default associated types
- Instance signatures
- OVERLAP pragma
- Parallel arrays
- MINIMAL pragma
- 0๏ธโฃ Default signatures
- Safe Haskell
- Binary literals
- Qualified record puns
- Type splices
AST changes:
- PatBind no longer contains the optional Maybe Type field. The type signature is now represented as part of the pattern (PatTypeSig)
- GuardedAlt and GuardedAlts types are replaced with the isomorphic GuardedRhs and Rhs types
- ๐ Move parentheses from the Context to Asst type
- ๐ Change DeclHead and InstHead to make it possible to represent various ways to put parentheses around parts of declarations. Introduce a new type InstRule for the same purpose.
- ๐ Change representation of negated patterns
- ๐ Make strictness annotations on data type fields part of those fields' Type
๐ Notable bug fixes:
- ๐ Allow statements, and not just expression, in MultiWayIf conditions
- ๐ Allow equality constraints when GADTs are enabled
- ๐ Fix parsing and printing of pragma modifiers, such as CONLIKE
- Don't treat 'capi' or 'interruptible' as a keyword except after 'foreign'
- Let ImpredicativeTypes imply ExplicitForAll
- Let RecursiveDo enable 'rec' keyword
- ๐ Fix pretty-printing of the unary minus sign
- Do not require FlexibleContexts for things like Ord (i Int) => ...
- ๐ Fix pretty-printing of deriving clauses
- ๐ Parse "Constraint" as a kind with ConstraintKinds enabled
- ๐ Support qualified quasi-quoters
- ๐ Enable ScopedTypeVariables when parsing rules
- Only permit record wildcards in last position
- ๐ Allow n-parameter infix data declaration heads
Other changes:
- ๐ฆ Expose showToken from Language.Haskell.Exts.Lexer
- ๐ Show instance for SrcLoc and SrcSpan are changed (now they do not contain
- field names)
- โ Add DeriveGeneric to known extensions
** 1.15.x