GHC plans for 8.0.1

This page is our road-map for what will be in 8.0.

  • We hope to incorporate all the "Landed" and "In-flight" stuff under "Release highlights" below.
  • We'll include (or at least review) all patches in tickets in "Status: patch" below.
  • We will address all the tickets under "Status: new" below with "highest" or "high" priority. We love help to do more, but there are far too many "normal" tickets to make any promises.

If you believe your favourite thing belongs in this list, but isn't there, please yell. If it's not in the road map, it probably won't get done. Without a lot of support, many things in the road map won't get done either, so we need your help!


Release candidate by mid-January 2016. Release candidate three available in early April 2016, release in mid-April 2016.

Libraries Status

See Libraries

Release highlights

Below are the major highlights of 8.0.

In-flight, and likely to land in time

  • Documentation for -XTypeInType (Richard)

Landed in HEAD

  • Visible type application (#5296)
  • Documentation for OverloadedLabels (Adam)
  • Support for reasoning about kind equalities, which gives promotion of GADTs to kinds, kind families, heterogeneous equality (kind-indexed GADTs), and * :: *. There is some discussion in DependentHaskell/Phase1, but that's very low-level. I (Richard) have no good user-oriented write-up yet, but there shouldn't be much in the way of new syntax -- just fewer type errors. (Phab:D808)
  • Improved optimization diagnostics. The compiler is now more liberal about issues warnings of failed specialization attempts
  • Support for wildcards in data and type family instances (Phab:D1092)
  • A beautiful new users guide, written in reStructured Text, and significantly improved output.
  • Allow patterns synonyms to be exported in the same way as data constructors (Phab:D1258)
  • Implement the MonadFail proposal (#10751)
  • Simon PJ's wip/spj-wildcard-refactor branch, which refactors the handling of implicit binders and wildcards
  • A huge improvement to pattern matching (including much better coverage of GADTs), based on the work of Simon PJ and Georgios Karachalias. For more details, see their paper. (Phab:D1535)
  • Backpack is chugging along; we have a new user-facing syntax which allows multiple modules to be defined a single file, and are hoping to release at least the ability to publish multiple "units" in a single Cabal file.
  • Significantly more stable support on ARM (#11206)
  • Stack traces in GHCi (#11047)
  • Better instrumentation for tracking compiler performance of (#11710)

Possible, if the authors push forward fast enough

There's nothing here.

Won't make it, but being actively worked on

  • An Improved LLVM Backend that ships with every major Tier 1 platform (Austin, #10074)
  • Make compilation results more deterministic (#4012)
  • Complete support for OverloadedRecordFields
  • Support for Type Signature Sections, allowing you to write (:: ty) as a shorthand for (\x -> x :: ty).
  • A DEPRECATED pragma for exports (#4879)
  • A new, type-indexed type representation, data TTypeRep (a :: k). See TypeableT.
  • A (possible) overhaul of GHC's build system to use Shake instead of Make.
  • Polish and merge Compact Normal Form support for efficient GC/serialization (ICFP'15)

Migration Guide to 8.0

FIXME Write the migration guide.

Known issues with release candidate 2

Release candidate 2 was released on 7 Feb 2016. These significant issues are known to be present in this release,

  • #11334: Solving for Typeable (Proxy :: Proxy 'Compose) fails
  • #11339: microlens package doesn't typecheck
  • #11608: microlens and free packages both fail to typecheck
  • #11414: Use of -XStrict results in compiler abort
  • #11471: Typechecker allows unsafe use of runtime-representation-polymorphism

Known issues with release candidate 1

Release candidate 1 was released on 13 Jan 2016. These significant issues are present in this release,

  • The new -XInjectiveTypeFamilies language extension will likely be renamed to -XTypeFamilyDependencies
  • #11120: Type representations are missing for some types and promoted constructors
  • #11334: Solving for Typeable (Proxy :: Proxy 'Compose) fails
  • #11276: Pattern checker performance can degrade significantly in presence of pattern matches with guards
  • #11405: Type-level skolem-escape check fails incorrectly
  • #11414: Use of -XStrict results in compiler abort
  • #11379: Instance solver fails to terminate
  • #11419: Haddock documentation is currently not included in the binary distributions.

Tickets marked merge with no milestone

Ticket Type Summary Priority Owner
No tickets found

Tickets slated for 8.0.1




Ticket Type Summary Priority Owner
No tickets found

Last modified 4 years ago Last modified on Mar 28, 2016 7:06:17 PM