GHC Proposals Dashboard

Generated 2026-05-07 08:47 — 153 proposals

Column reference
PR #
GitHub PR number; click to open the PR.
Title
Short title from the PR. [A] prefix marks an Amendment to a previously-accepted proposal.
Status
Derived from GitHub labels: Pending Shepherd, Pending Committee, Needs Revision, Accepted, Rejected, Dormant, otherwise Open or Merged. Click a button above to filter.
Author
GitHub username of the proposal author.
Shepherd
Committee member assigned via the mailing list (parsed from "Assigning Shepherd" or "Please review" threads). A ? prefix means a name was parsed but did not match the known committee list.
Inbox Date
When the PR was opened (proxy for "entered the committee inbox").
Last GH
Most recent activity on the GitHub PR.
ML#
Number of mailing-list messages in threads referencing this PR.
ML Last
Most recent date of mailing-list activity for this PR.
Ppl
Unique senders across the mailing-list messages for this PR.
Votes
Compact tally per category: NA = N accepts, NR = N rejects, Nc = N concerns, Nx = N recuses. Hover the cell for the per-member breakdown. Heuristic regex classifier — treat low-confidence cells as a hint, not ground truth.

Click a column header to sort. Vote classification accuracy on historical labels: accept P=97% R=88%, others are noisier due to small sample sizes.

PR #TitleStatusAuthorShepherdInbox DateLast GHML#ML LastPplVotes
#570Native string interpolation syntaxPending Committeebrandonchinn178Sebastian Graf2023-01-112026-05-0722026-04-1921x
#698QualifiedLiteralsPending Committeebrandonchinn178Erik de Castro Lopo2025-05-072025-09-09132025-09-0863A 1R
#8Mutable constructor fieldsNeeds Revisionsimonmar2016-09-202022-11-2900
#177Simple constrained type familiesNeeds Revisiontypedrat2018-10-152019-11-0500
#194Updated partial type signaturesNeeds Revisiongoldfirere2019-01-142025-05-1900
#204Remove nested bracket restriction in Template HaskellNeeds Revisionmpickering2019-02-032019-08-2200
#231Record `with` syntaxNeeds Revisionrohanjr2019-05-172019-08-2100
#233Higher-order rolesNeeds Revisiongoldfirere2019-05-232021-01-0500
#267Class method headers (reordering class variables, visible forall in classes)Needs Revisionint-index2019-08-312024-05-3000
#273Add support for local typesNeeds Revisiontreeowl2019-09-092025-05-1900
#275Rebindable ApplicationNeeds Revisiontydeu2019-09-152023-06-3000
#292ByteArray LiteralsNeeds Revisionandrewthad2019-11-122022-10-2400
#303Constraint based arrow notationNeeds Revisionlexi-lambda2019-11-302021-12-0500
#333Defer parse errorsNeeds Revisionserras2020-05-212024-03-0600
#390Fine-grained pragmas for classes, families, and instancesNeeds Revisionserras2021-01-072022-04-3000
#400COMPLETE set signaturesNeeds Revisionsgraf8122021-02-042022-10-2400
#473First-class existential typesNeeds Revisiongoldfirere2021-12-102025-07-0800
#515Relaxing ``HasField`` constraintsNeeds Revisionocharles2022-06-112024-06-0500
#529Untyped Template Haskell quotes as patternsNeeds RevisionEricson23142022-08-052026-02-2600
#532Clean up and simplify the treatment of implicit bindingNeeds RevisionEricson23142022-08-142023-10-1000
#571-Wsevere – erroring warningsNeeds Revisionnomeata2023-01-162024-01-2200
#617Add -experimental flagNeeds Revisionangerman2023-10-092024-03-2200
#621Linear constraints proposalNeeds RevisionaspiwackJakob Brünker2023-11-212026-04-2362025-03-1941A 1x
#678[A] Amend Import Shadowing proposal to match Haskell 2010 section 5.2.5Needs RevisiongergoerdiErik de Castro Lopo2024-09-302024-11-23132024-10-2198A
#687Add proposal for amending monad of no returnNeeds RevisionL0neGamerMatthías Páll Gissurarson2025-02-262025-09-1162025-04-1643A
#720GHCi command for recompilation-aware evaluationNeeds RevisionalexfmpeSimon Marlow2025-09-042026-04-1512026-03-101
#725Break out proposal for QualifiedNumericsNeeds Revisionbrandonchinn1782025-09-092025-10-1400
#724Break out proposal for QualifiedListsNeeds Revisionbrandonchinn1782025-09-092025-10-2400
#748Unordered extra commasNeeds RevisionVitWWJaro Reinders2026-03-182026-05-0242026-04-304
#131Allow type variables to declared out of dependency orderDormantgoldfirere2018-05-022019-09-0800
#180Add Structural Types (Row Polymorphism)Dormantjvanbruegge2018-11-092026-02-0400
#197infixr :: (treat :: right-associative-ly)DormantIcelandjack2019-01-192020-07-0800
#270Support pun-free codeDormantHithroc2019-09-052026-03-1400
#283Local modulesDormantgoldfirere2019-10-132025-12-0900
#454Custom type warningsDormantadamgundry2021-11-032023-01-2700
#500Add implicit import proposalDormantTristanCacqueray2022-04-062022-10-2400
#526Propose applicative comprehensionsDormantstrake2022-07-282025-04-0800
#536Type-level literals as a separate language extension (under review)DormantRossPaterson2022-09-032024-09-2600
#549Strengthen decomposition for newtypesDormantsimonpj2022-11-102023-12-2900
#138More Symmetrical Pattern SynonymsOpenhowtonotwin2018-06-032022-11-0200
#154Unify type-level literals with their equivalent typesOpentypedrat2018-07-142019-11-0400
#196Named type argumentsOpenbakhtiyarneyman2019-01-182020-02-2000
#205Structured module exports/importsOpendeepfire2019-02-032019-11-1600
#218-XApplyingVia — sort @(Int via Down Int) OpenIcelandjack2019-04-032026-03-0500
#236Grand Class UnificationOpenint-index2019-06-012020-12-0800
#244Add a bullet about the voting processOpengridaphobe2019-06-292019-10-1100
#245Extended Dependency GenerationOpenDavidEichmann2019-07-022024-04-2600
#248WIP: Coercions without type constructor rolesOpenEricson23142019-07-092020-12-1800
#261Classify instances by deriving strategy / declaration (:classify)OpenIcelandjack2019-08-092019-08-1400
#276Remove the Coercible decomposition ruleOpentreeowl2019-09-172024-10-3100
#279Prevent Incoherent InstancesOpentysonzero2019-10-012019-10-0800
#280Non-Empty Typed-HolesOpenTritlo2019-10-022021-03-0800
#284Bidirectional InstancesOpenKoenP2019-10-152022-09-0400
#286Separate HasField into GetField and SetFieldOpentysonzero2019-10-172020-11-1400
#307richer error documents proposalOpenalpmestan2020-01-242020-09-1000
#310Disambiguate record updateOpenEricson23142020-02-142020-05-0300
#311`data` without parameters with -XStandaloneKindSignaturesOpenJakobBruenker2020-02-172021-11-0300
#321Implicit module namesOpenEricson23142020-03-282020-06-2000
#324Allow direct access to underlying concrete class dictionariesOpentysonzero2020-04-092026-03-1100
#327WIP: Case bindOpenEricson23142020-04-302022-01-0900
#335Draft: extending array primitivesOpenbuggymcbugfix2020-05-232020-06-2200
#357Add specializable proposalOpenfgaz2020-08-262021-09-2100
#361Variadic Array Creation PrimopsOpenbuggymcbugfix2020-09-042020-09-2600
#363Standalone Standalone Kind SignatureOpenIcelandjack2020-09-152020-09-1500
#373Type family role annotationsOpentreeowl2020-10-282020-11-1600
#374DYSFUNCTIONAL per-instance pragma for selective lifting of the coverage conditionOpenarybczak2020-10-302023-01-2700
#381Generalised type family injectivityOpencgibbard2020-11-272020-12-0400
#388Improve interruptible foreign call interfaceOpentreeowl2021-01-042021-01-0400
#401RecursiveLetOpenocharles2021-02-082025-05-3100
#408Import renamingOpenphadej2021-03-052022-08-0200
#436Add support for total RecordWildCardsOpenbrandon-leapyear2021-09-102025-04-0400
#442Codify proposals in an "Apsirational User's Guide"OpenEricson23142021-10-182023-10-0300
#445Non-overlappable instancesOpentreeowl2021-10-212021-10-2800
#446Standalone deriving clauses grouped by strategyOpentreeowl2021-10-222022-06-2700
#461Class Backend - separate interface from representationOpenIcelandjack2021-11-252022-09-0700
#476Removing -XNoPolyKindsOpengoldfirere2021-12-222022-01-0900
#479Magic constraint simplification type familyOpentreeowl2021-12-312022-01-1100
#480[A] Modify #285: Document RULES as affected by `-XNoImplicitForAll`OpenEricson23142022-01-092024-08-1900
#491Support multiple hole meanings in typesOpentreeowl2022-03-022022-09-0700
#494-Wincomplete-field-binds and RecordDontCarePatternsOpenfumieval2022-03-242022-06-0500
#507Allow field puns to bind type variablesOpengoogleson782022-05-162022-09-1900
#509Type functionsOpenHaskell-mouse2022-05-232022-12-0600
#510Add GHC.Variants module to mirror GHC.RecordsOpentysonzero2022-05-242022-07-0100
#521Succinct associated type instancesOpenL-as2022-06-222022-07-0600
#524-XUnstable, protecting GHC's unstable featuresOpengoldfirere2022-07-222022-08-0200
#530Strict Box DenestingOpenclyring2022-08-102025-11-1000
#533All Threads SyscallOpenNicolasT2022-08-242022-09-1000
#535Partial Field BehaviorOpenparsonsmatt2022-09-022025-11-2600
#537Disambiguating record updates using type signaturesOpenadamgundry2022-09-092024-05-2200
#539[WIP] Extended Haskell Program Coverage (HPC)OpenTritlo2022-09-152023-03-0700
#564NamespacesOpenkalhauge2022-12-162023-08-1900
#568Add a pragma for transitive specialization.OpenAndreasPK2023-01-062023-03-0600
#590Class Scoped FunctionsOpenVitWW2023-06-062024-08-2700
#595[A] Amend #134 (deprecated exports) in light of implementationOpensheaf2023-06-152024-08-1900
#616Ghc CPPOpenalanz2023-10-032025-06-0700
#620Extensions and warningsOpensimonpj2023-11-052023-12-0500
#628Renovating GHC's extensions mechanismOpengoldfirere2024-01-042024-02-0500
#630extending capi calling conventionOpenk355l3r-5yndr0m32024-01-172024-01-2300
#636Fortified language editionsOpengoldfirere2024-02-052024-06-0600
#642Extractable ExistentialsOpenVitWW2024-03-202024-06-1800
#645[A] Amend the named defaults proposal to allow WARNING pragmas on exportsOpenblamario2024-03-242024-08-1900
#647Unicode Syntax for Template Haskell spliceOpenphadej2024-04-012024-05-1700
#649Pattern-Matching SubTypesOpenVitWW2024-04-172024-04-2000
#651Support for profiling safe FFI calls.OpenAndreasPK2024-05-072024-05-2700
#655Pure Template HaskellOpenmichaelpj2024-06-072024-06-0800
#658Add Support for Trailing and Leading Commas in ListsOpenad-si2024-06-102025-03-2500
#659Not Type EqualityOpenVitWW2024-06-252024-06-2700
#664Extending HPC with tracing of recently evaluated locationsOpenTritlo2024-06-292024-08-3000
#666Curried Class ContextsOpenIcelandjack2024-07-112024-08-0400
#675Add quiet-forall bindersOpensimonpj2024-09-012024-10-3000
#676An empty-list shortcut for list comprehensionsOpenrhendric2024-09-162024-09-2300
#683Primitives for zero-copy compact regionsOpentbagrel12024-11-202026-02-2400
#684ForUnique QuantifierOpenVitWW2024-11-282025-07-2400
#689Permutation import syntaxOpenphadej2025-04-012025-04-0800
#691Introduce a new XLowLevelHaskell meta extension.OpenAndreasPK2025-04-162026-04-0700
#695NamedDefaults: clarify interactionsOpensheaf2025-04-212025-04-2200
#708DRAFT: Deriving superclassesOpenL0neGamer2025-07-212025-07-2800
#707DRAFT: Shared class methodsOpenL0neGamer2025-07-212025-07-2800
#710Local QuantifiersOpenVitWW2025-07-242025-09-2500
#709ForScoped QuantifierOpenVitWW2025-07-242025-09-2100
#711NotProposal: Updated Proposal processOpenVitWW2025-08-052025-08-0500
#715Protected PragmaOpenOleksandr-Zhabenko2025-08-122025-08-1500
#729New syntax for Visible ForAllOpenVitWW2025-09-202025-10-0400
#733Differently typed duplicate record fieldsOpenbrandonchinn1782025-11-262025-11-2800
#734Deriving SuperclassesOpenL0neGamer2025-12-082026-01-2700
#735Custom error messages for unsolved WantedsOpensheaf2025-12-182026-04-0200
#737Abstractly-keyed Implicit BindingsOpenshlevy2025-12-232026-04-1300
#738Amend #669 to categorize more language extensionsOpentelser2026-01-122026-02-0200
#740LocalImports: Allow imports in let/where clausesOpenrashadg10302026-01-192026-03-3000
#741Scoped valuesOpenlortabac2026-01-262026-04-0600
#743Contexts: A new construct for namespaces in HaskellOpenrashadg10302026-03-022026-03-0700
#744Branch weight supportOpeniand6752026-03-032026-03-3100
#745SubmodulesOpenrashadg10302026-03-072026-03-1100
#749Comma qualified structuresOpenVitWW2026-03-182026-03-1800
#751scoped thread-locals proposalOpenedmundnoble2026-03-272026-04-2800
#752Lazy Field AnnotationsOpensjakobi2026-03-312026-04-2100
#755[A] Updates to 475 informed by the implementationOpenint-index2026-04-292026-05-0600
#757Class Associated InstancesOpenashokkimmel2026-05-052026-05-0600
#632[A] Amend GHC2024/GHC20xx proposals to specify introduction of new language editionsMergedadamgundry2024-01-242025-05-13112025-05-0697A
#668[A] Allow arbitrary identifiers as fields in `OverloadedRecordDot` and `OverloadedRecordUpdate`Mergedparsonsmatt2024-07-222025-05-13232025-05-06107A
#669Add categorization of language extensionsMergedtelserMalte Ott2024-08-052025-08-0792025-08-0776A
#673[A] Update jsem proposal to address problems discovered in GHC #25087 (under review)Mergedwz1000Eric Seidel2024-08-272026-04-14202026-04-141110A
#681[A] Updates to modifiers proposalMergedChickenPropMatthías Páll Gissurarson2024-11-072025-12-02122025-12-0387A
#696Splitting out stable subsets from `template-haskell` (`template-haskell-lift` and `template-haskell-quasiquote`)MergedTeofilCSebastian Graf2025-04-252025-07-27122025-07-1498A
#700Abstract QMergedTeofilCSebastian Graf2025-05-242026-05-04112026-05-0477A
#701[A] 581: Wildcard specificationMergedint-index2025-06-022025-10-2800
#705[A] Explicit Level Imports: refine specification for exportsMergedmpickeringArnaud Spiwack2025-07-172025-08-0752025-08-1333A
#723Break out proposal for QualifiedStringsMergedbrandonchinn1782025-09-092025-10-1400
#726Add section to README clarifying role of shepherdMergedadamgundry2025-09-102025-10-1400
#727Fix: fix format at the table in ReadmeMergedVitWW2025-09-112025-09-2500
#732Simplify static formsMergedsimonpj2025-11-192026-01-1200
#742[A] QualifiedStrings updatesMergedbrandonchinn178Rodrigo Mesquita2026-01-312026-04-20112026-04-2186A
#747README: Update mailman URLsMergedTeofilC2026-03-102026-03-1000