All accepted GHC Proposals¶
Contents:
- GHC Proposals
- Haskell committee guidelines for respectful communication
- A Proposal for Proposals
- Overloaded Record Fields
- Revise Levity Polymorphism
- Declare
Constraint
is not apart fromType
- Make unboxed tuple patterns lazy / warn on unbanged strict patterns
- Hexadecimal Floats in Haskell
- Pattern synonym construction function signatures
- Standalone kind signatures
- More explicit
forall
s - Overhaul deriving instances for empty data types
- Require namespacing fixity declarations for type names and
WARNING
/DEPRECATED
pragmas - Extend
-Wall
withincomplete-uni-patterns
andincomplete-record-updates
- Add more fixed size primitive types, like
Int8#/Word8#
- Underscores in Numeric Literals
- Deprecating STM invariant mechanism
- Type-level type applications
- A syntax for visible dependent quantification
- Embrace
Type :: Type
- BlockArguments Extension
- As patterns in pattern synonyms
- Unlifted Newtypes
- Explicit specificity in type variable binders
- Treat kind variables and type variables identically in
forall
- Define Kinds Without Promotion
- Source plugins
- Refining the plugin recompilation API
- Quantified Constraints
- Linear Types
- Current status
- Motivation
- Proposed Change Specification
- Effect and Interactions
- Costs and Drawbacks
- Alternatives
- The Core corner
- Unresolved questions
- Implementation Plan
- UnliftedArray
- Deriving Via
- Offer more array resizing primitives
- Type Annotated Quoters
- Type Applications in Patterns
- Allow ScopedTypeVariables to refer to types
- Deprecating Exports
- Remove the * kind syntax
- Replace the
atomicModifyMutVar#
primop - Binding type variables in lambda-expressions
- Add
setField
toHasField
- NoFieldSelectors
- Remove an undocumented StableName guarantee
- List instances for a type in GHCi
- Make rebindable
fail
work with overloaded strings - Unrestricted Overloaded Labels
- The dot type operator
- Lower precedence for {-# UNPACK #-}
- Meaning-preserving parsing rules for SCC annotations
- Clean up printing of foralls
- Allow
qualified
to follow module name - Make
forall
a keyword - Make Q (TExp a) into a newtype
- Pointer Rep
- Levity-polymorphic Lift
- MINIMAL should warn about extra definitions
- Qualified do
- Function Result Type Signatures
- Whitespace-sensitive operator parsing (~, !, @, $, $$, -)
- Ambiguous Type per-signature pragma
- Compile with threaded RTS by default
- Unsaturated Type Families
- Overloaded Quotations
- Unlifted Datatypes
- Quick Look Impredicativity
- Add winapi pseudo calling convention
- 1 Visible forall in types of terms, and types in terms
- Record Dot Syntax
-XNoImplicitForAll
,-XNoPatternSignatureBinds
- Simplify subsumption
\cases
- Multi-way lambda expressions- Delimited continuation primops
- Enable
-Wnoncanonical-monad-instances
and-Wnoncanonical-monoid-instances
by default - Defaults and backpack/hs-boot
- 1 Decorate exceptions with backtrace information
- Negative Literals Improved
- Unify
Nat
andNatural
- DuplicateRecordFields without ambiguous field access
- Add
sumToTag#
primop - Syntax for Modifiers: a generalization of linear-types syntax
- The GHC20XX process
- 1 Design for Dependent Types
- GHC 2021
- The
Char
kind - Stable GADT constructor syntax
- Cleanup lexical structure of numbers and identifiers
- 1 Generalized, named, and exportable
default
declarations - OPAQUE pragma
- Invisible binders in type declarations
- 1 Unsatisfiable
- 1 Modern Scoped Type Variables
- Sized primitive literals
- 1 Non-punning list and tuple syntax
- 1 Unicode Ellipsis
- Allow record wildcards for empty records
- Deep Subsumption
- 1 Add warning for incomplete record selectors
- 1 Generalising Type and Constraint
- 1 Or Patterns
- 1 jsem: parallelism semaphores for GHC
- 1
WARNING
pragmas with categories - 1 Disallow constraints in kinds
- 1 Higher Order Patterns in Rewrite Rules
- 1 Deprecated instances
- 1 Namespace-specified imports
- 1 Split
-Wunused-imports