Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
GHC
GHC
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4,268
    • Issues 4,268
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 408
    • Merge Requests 408
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Glasgow Haskell Compiler
  • GHCGHC
  • Wiki
    • Status
  • ghc 8.0.1

Last edited by Takenobu Tani Apr 26, 2019
Page history New page

ghc 8.0.1

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!

Dates

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

  • Option to ignore unrecognised warning flags (#10429 (closed), Ben, Phab:D1830)

  • Support for strictness and unpacking in Template Haskell (Trac #10697 (closed), Phab:D1603)

  • Visible type application (#5296 (closed))

  • Consistent warning options (#11218 (closed), Phab:D1613)

  • More expressive Generics metadata (Ryan Scott, Trac #10716 (closed), #10697 (closed), Phab:D493)

  • Expose enabled language extensions to TemplateHaskell (#10820 (closed), Ben, Phab:D1200)

  • Recursive superclasses (Simon, Phab:D1594, #11067 (closed))

  • Documentation for OverloadedLabels (Adam)

  • Use Cxt in Template Haskell's representation of deriving clauses (#10819 (closed), Ben, Phab:D1202)

  • Fix #10845 (closed) with Phab:1422 (Rework the Implicit CallStack solver to handle local lets)

  • 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)

  • Support for implicit parameters providing callstacks/source locations, allowing you to have a light-weight means of getting a call-stack in a Haskell application. (Phab:D861, Phab:D1422)

  • 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)

  • Support for Injective Type Families, which allows you to specify type families which are injective, i.e. a one-to-one relationship. (Phab:D202)

  • Support for typed holes in Template Haskell (Phab:D835)

  • Support for Applicative Do, allowing GHC to desugar do-notation to Applicative where possible. (Phab:D729)

  • Support for deriving the Lift typeclass (Phab:D1168)

  • A beautiful new users guide, written in reStructured Text, and significantly improved output.

  • Support for Strict Haskell including both the StrictData and Strict language extensions (Phab:D1033 and Phab:D1142)

  • Support for record pattern synonyms (Phab:D1152)

  • Allow patterns synonyms to be exported in the same way as data constructors (Phab:D1258)

  • Custom type errors. (#9637 (closed), Phab:D1236).

  • Implement the MonadFail proposal (#10751 (closed))

  • Support for DuplicateRecordFields, allowing multiple datatypes to declare the same record field names provided they are used unambiguously (Phab:D761)

  • Support for OverloadedLabels, allowing a form of type-directed name resolution (Phab:D1331)

  • 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.

  • Improved DWARF based debugging support from Peter Wortmann, Arash Rouhani, and Ben Gamari with backtraces from Haskell code.

  • Significantly more stable support on ARM (#11206 (closed))

  • Stack traces in GHCi (#11047 (closed))

  • Better instrumentation for tracking compiler performance of (#11710 (closed))

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.

Migration/8.0

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 (closed): Solving for Typeable (Proxy :: Proxy 'Compose) fails

  • #11339 (closed): microlens package doesn't typecheck

  • #11608 (closed): microlens and free packages both fail to typecheck

  • #11414 (closed): Use of -XStrict results in compiler abort

  • #11471 (closed): 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 (closed): Type representations are missing for some types and promoted constructors

  • #11334 (closed): Solving for Typeable (Proxy :: Proxy 'Compose) fails

  • #11276 (closed): Pattern checker performance can degrade significantly in presence of pattern matches with guards

  • #11405 (closed): Type-level skolem-escape check fails incorrectly

  • #11414 (closed): Use of -XStrict results in compiler abort

  • #11379 (closed): Instance solver fails to terminate

  • #11419 (closed): Haddock documentation is currently not included in the binary distributions.

Tickets slated for 8.0.1

See the %8.0.1 milestone.

Clone repository

GHC Home
GHC User's Guide

Joining In

Newcomers info
Mailing Lists & IRC
The GHC Team

Documentation

GHC Status Info
Working conventions
Building Guide
Debugging
Commentary

Wiki

Title Index
Recent Changes