GHC plans for 8.6.1

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

If you believe your favorite 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!


Cut release branch in June 2018. Release in August 2018.

Libraries Status

See Libraries? and Migration/8.6.

Release highlights (planned)

Below are the major highlights of 8.6.

  • Improved support for cross-compilation (Moritz Angermann)

Build system and miscellaneous changes

  • Improved Windows support, including support for split sections, a new IOCP-based I/O manager, and long file paths (Tamar Christina)
  • Support for building stating libraries for elf and mach-o (-staticlib)

Landed in master branch

  • An early version of the GHCi :doc command
  • The core functionality of the ghc-heap-view package has been merged into GHC, allowing introspection into the structure of GHC's heap. (Patrick Dougherty, Phab:D3055)
  • Many improvements to exhausiveness checking (#14546)
  • Improvements in code generation, include a (often more efficient) new SRT representation
  • Further improvements to DWARF unwinding support
  • More sophisticated constant folding (#9136)

Library changes

Build system and miscellaneous changes

Tickets marked merge with no milestone

Tickets slated for 8.6.1


Status: merge (3 matches)

Ticket Type Summary Priority Differential Rev(s) Owner
#15078 feature request base: Customary type class laws (e.g. for Eq) and non-abiding instances (e.g. Float) should be documented normal Phab:D4736 Azel
#15245 bug Data family promotion is possible normal Phab:D4748
#15273 bug Datatypes with CUSKs should quantify over unknown kinds normal Phab:D4845

Status: patch (15 matches)

Ticket Type Summary Priority Differential Rev(s) Owner
#13617 bug GHCi linker does not honor alignment of sections. normal Phab:D3915 Phyx-
#14190 bug Typeable imposes seemingly redundant constraints on polykinded instances normal Phab:D4000
#14242 bug Ticks and join points don't play well normal
#14482 bug GHC -M mode fails to ensure that boot files are built before source files normal Phab:D4208 bgamari
#14529 bug Refactor ConDecl normal Phab:D4867 alanz
#14973 bug Location in GHCi debugger prompt printed twice when default prompt is used normal Phab:D4661
#15019 bug Fix performance regressions from #14737 normal phab:D4635
#15081 bug Finite list becomes infinite after maping fractional function for high numbers normal Phab:D4650
#15117 task Add linting checks for DWARF unwind information normal Phab:D4559
#15149 bug Identical distinct type family fields miscompiled normal Phab:D4821 adamgundry
#15185 bug Enum instance for IntX / WordX are inefficient normal Phab:D4820
#15201 bug GHC 8.4 fails to build on Debian s390x normal
#15231 bug UndecidableInstances validity checking is wrong in the presence of QuantifiedConstraints normal Phab:D4819
#15292 bug ghc_ticker loops if permission denied on timerfd normal Phab:D4875
#14534 task Split T12971 into its own Makefile low Phab:D4252

Status: upstream (2 matches)

Ticket Type Summary Priority Differential Rev(s) Owner
#13897 task Ship check-ppr in bindist and compile during testsuite run normal Phab:D4039 alanz
#15074 bug Possible uninitialised values in ffi64.c normal


Status: new (202 matches)

Ticket Type Summary Priority Owner
#14808 bug GHC HEAD regression: GADT constructors no longer quantify tyvars in topological order highest goldfire
#14873 bug GHC HEAD regression (piResultTy) highest goldfire
#14899 bug Significant compilation time regression between 8.4 and HEAD due to coverage checking highest
#15051 bug -split-objs generates excessively many files on Windows highest Phyx-
#15061 bug print022 testcase fails on i386 highest
#15064 bug T8089 mysteriously fails when GHC is built with LLVM highest
#15136 bug High CPU when asynchronous exception and unblocking retry on TVar raced highest
#15142 bug GHC HEAD regression: tcTyVarDetails highest goldfire
#15176 bug Superclass `Monad m =>` makes program run 100 times slower highest bgamari
#15293 task Set up staging branch highest bgamari
#15058 bug scc001 unexpected passes in prof way on CircleCI high
#15059 bug ghcpkg05 fails high
#15063 bug T3001-2 fails on i386 Linux high
#15084 bug Functions in HsUtils don't have the most general type high
#15216 bug plugins10 broken high tdammers
#15274 bug Numerous validation failures when building GHC with LLVM high
#15275 bug AArch64 validation fails with many invalid relocations high
#15287 bug T11627[ab] fail on some Darwin environments high
#9123 bug Emit quantified Coercible constraints in GeneralizedNewtypeDeriving normal
#11295 task Figure out what LLVM passes are fruitful normal kavon
#13072 task Move large tuples to a separate module in base normal rwbarton
#13078 bug Panic from ghc-stage1 when building HEAD with profiling normal
#13090 bug Expose all unfoldings of overloaded functions by default normal
#13091 bug Build broken on amd64 solaris 11 normal
#13092 bug family instance consistency checks are too pessimistic normal rwbarton
#13093 bug Runtime linker chokes on object files created by MSVC++ normal Phyx-
#13152 feature request Provide a mechanism to notify build system when .hi file is ready normal
#13153 bug Several Traversable instances have an extra fmap normal dfeuer
#13154 bug Standalone-derived anyclass instances aren't as permissive as empty instances normal
#13176 feature request Deprecate the realWorld# normal
#13189 feature request Implement same specification as GHC spec file for mingw32 normal Phyx-
#13205 bug Run `validate --slow` during CI at least sometimes. normal bgamari
#13225 bug Fannkuch-redux time regression from join point patch normal
#13226 bug Compiler allocation regressions from top-level string literal patch normal
#13240 feature request Make it easier to find builds we may want to cancel normal mpickering
#13243 bug make test in non-validate configuration fails with a variety of ghci errors normal
#13253 bug Exponential compilation time with RWST & ReaderT stack with `-02` normal bgamari, osa1
#13309 task Use liftA2 in ApplicativeDo normal AaronFriel
#13331 bug Worker/wrapper can lead to sharing failure normal
#13346 task Run nofib with -fspec-constr-keen normal
#13357 task Check demand signatures for catchRetry# and catchSTM# normal
#13360 feature request Add a flag to enable inferring HasCallStack constraints normal
#13363 bug Wildcard patterns and COMPLETE sets can lead to misleading redundant pattern-match warnings normal
#13390 bug String literal float-out during desugaring regresses T1969 at -O0 normal
#13406 bug IO hack in demand analyzer can miss I/O normal
#13423 bug Exception to I/O hack in demand analyzer too broad normal
#13448 task Make HPC use an RTS option to select the tix file normal dfeuer
#13465 bug Foldable deriving treatment of tuples is too surprising normal
#13507 bug Changes to environment files don't apply in GHCi on :reload normal
#13511 feature request ApplicativeDo return case doesn't handle lets normal
#13513 bug Incorrect behavior on arm64 with optimisations normal
#13515 bug Unexpected failure of T11223_simple_duplicate_lib on 32-bit Windows normal
#13554 feature request Allow the user to provide a C function that is called on each thread the RTS creates before running any Haskell code normal
#13564 task Why does memory usage increase so much during CoreTidy? normal
#13629 bug sqrt should use machine instruction on x86_64 normal
#13647 bug Tidy up TcTypeable normal
#13686 feature request Compile a few modules for profiling unconditionally normal
#13692 bug Constructors and such should be able to move around seq# sometimes normal
#13693 bug RTS cannot be reinitialized reliably after hs_exit() normal
#13717 bug Pattern synonym exhaustiveness checks don't play well with EmptyCase normal
#13723 feature request Recover gracefully from simplifier tick exhaustion normal
#13724 bug Clamping of llvm llc to -O1 and -O2 normal
#13753 feature request Improve GHC's ghc package environment lookup logic normal
#13896 bug Use response file to invoke hsc2hs normal
#13898 task Consolidate treatment of strictness in parser normal
#13905 bug ApplicativeDo is too strict with newtype patterns normal
#13906 bug ApplicativeDo doesn't handle existentials as well as it could normal
#13981 bug Family instance consistency checks happens too early when hs-boot defined type occurs on LHS normal
#14003 feature request Allow more worker arguments in SpecConstr normal choenerzs
#14030 task Implement the "Derive Lift instances for data types in template-haskell" proposal normal RyanGlScott
#14040 bug Typed holes regression in GHC 8.0.2: No skolem info: z_a1sY[sk:2] normal
#14155 bug GHC mentions unlifted types out of the blue (to me anyway) normal goldfire
#14165 bug Investigate regressions from simplifier refactor normal
#14214 bug Users guide lies about default optimization level normal bgamari
#14252 feature request ApplicativeDo: Add compiler message about irrefutable pattern matches and Monad constraints normal
#14261 bug ghc stopped recognizing some arm triplets that used to work: Failed to lookup the datalayout for armv7a-hardfloat-linux-gnueabi; available targets: normal angerman
#14268 task Implement Explicit Foralls Proposal normal johnleo
#14298 feature request Let Template Haskell dynamically add something with which to link normal
#14319 bug Stuck type families can lead to lousy error messages normal
#14331 bug Overzealous free-floating kind check causes deriving clause to be rejected normal
#14336 bug ghci leaks memory normal
#14337 bug typeRepKind can perform substantial amounts of allocation normal
#14400 feature request Make :sprint, :print, and :force work with cyclical structures normal
#14401 task Add a test ensuring that TypeReps can be stored in compact regions normal
#14405 task Remove core-spec.pdf from repository normal
#14412 bug Can't run tests with sdist -> bindist -> test normal
#14413 bug Profiling breaks determinism normal
#14469 bug Rebuilding profiled stage2 after building stage3 is broken normal
#14502 task Build Alpine Linux binary distributions normal bgamari
#14509 task Consider adding new stg_ap_* functions normal
#14512 bug System-wide installed profile build cannot load normal
#14551 bug GHCi ignores -XMonomorphismRestriction and -XNoExtendedDefaultRules normal
#14602 task Implement the pattern synonym construction function signatures proposal normal
#14604 feature request Flag to disable error position description normal
#14610 bug newtype wrapping of a monadic stack kills performance normal
#14617 bug Join point test join001 doesn't seem to be properly automated normal
#14620 bug Polymorphic functions not easily recognized as join points normal
#14670 bug -XRebindableSyntax needs return? normal simonmar
#14673 bug Unary Unboxed Tuple Type Constructor normal
#14684 bug combineIdenticalAlts is only partially implemented normal sjakobi
#14727 bug Unboxed sum performance surprisingly poor normal
#14765 bug Levity polymorphism panic normal
#14806 feature request Officially sanction certain unsafeCoerce applications with unboxed unary tuples normal
#14816 bug Missed Called Arity opportunity? normal
#14823 bug Test profiling/should_run/scc001 fails on Circle CI normal bgamari
#14838 bug missing "incomplete-patterns" warning for TH-generated functions normal
#14839 bug Bits typeclass law for LSB normal
#14870 bug Runtime performance regression in 8.4 normal
#14909 task Change default armhf target to a newer architecture normal
#14911 feature request Offer a way to augment call stacks normal
#15007 bug Don't keep shadowed variables in ghci, both renamer and type checker normal sighingnow
#15011 task Automate update of VersionHistory table normal bgamari
#15020 bug PatternSynonyms: Problems with quantified constraints / foralls normal
#15029 bug haddock parsing fails with valid input normal
#15034 bug Desugaring `mdo` moves a `let` where it shouldn't be normal
#15043 feature request A more aggressive version of -fprint-expanded-synonyms that prints all type synonyms normal
#15044 feature request Option to output instance resolution process normal
#15048 task Fix mirroring of terminfo and haskeline normal hvr
#15050 feature request ScopedTypeVariables could allow more programs normal
#15053 bug Compiler panic on invalid syntax (unterminated pragma) normal
#15054 bug ghc internal error appeared in GHCI normal
#15069 bug Missed SpecConstr opportunity normal
#15070 bug postInlineUnconditionally is too eager normal
#15072 task Teach the testsuite driver about response files normal
#15075 bug Sometimes '-optl-optl' used for linker options instead of just '-optl' normal
#15076 bug Typed hole with higher-rank kind causes GHC to panic (No skolem info) normal
#15077 feature request Suggest NoMonomorphismRestriction or type signature normal
#15080 feature request List Operators Sorted by Precedence in GHCi normal artemohanjanyan
#15087 bug Internal Error with Bibliography Profiling normal
#15089 task Compiling stage2 with -g causes spurious test suite failures due to stderr mismatches normal
#15090 task Do more coercion optimisation on the fly normal
#15091 task Better occurrence analysis for join points normal
#15092 feature request Optionally bounds-check primops normal
#15096 bug GHC fails to execute gcc on Windows when unicode character is in the path normal
#15100 bug `ApplicativeDo` needlessly uses `join` too much normal
#15105 bug `typecheckModule` from GHC API crashes on MacOS for files with TH normal
#15106 task Explore using pure unifier instead of monadic one normal
#15112 bug ghc 8.4.2 on OS X: clang: warning: argument unused during compilation: '-nopie' normal
#15124 task Improve block layout for the NCG normal AndreasK
#15129 feature request Expose ghc-pkg internals as a library normal
#15130 bug Hadrian doesn't rebuild changed `CoreUtils.hs` normal
#15135 bug Overlapping typeclass instance selection depends on the optimisation level normal
#15138 bug Unable to instantiate data members of kind Nat in backpack signatures. normal
#15141 bug decideKindGeneralisationPlan is too complicated normal
#15147 bug Type checker plugin receives Wanteds that are not completely unflattened normal
#15148 task Allow setting of custom alignments normal
#15153 bug GHC uses O_NONBLOCK on regular files, which has no effect, and blocks the runtime normal
#15155 bug How untagged pointers sneak into banged fields normal heisenbug
#15156 feature request Show instances for types exported from the ghc package normal
#15159 bug Expand compatibility note for readMVar normal
#15165 bug GHC 8.2.2: internal error with +RTS -hb normal
#15167 bug DerivClause list is not populated for (TyConI (DataD ...)) normal
#15175 bug ghc: panic! (the 'impossible' happened) normal
#15177 bug Faulty instance termination check, with PolyKinds and/or TypeInType normal
#15182 feature request Lazier Semigroup instance for Maybe normal
#15183 feature request Expose the SNat type and the natSing method normal
#15184 bug T4442 fails on i386 normal
#15189 feature request Avoid word "transformer" in the documentation of ST normal ulysses4ever
#15190 bug disable haddock disables building of manuals normal
#15191 bug Deriving via DeriveAnyClass not behaving the same as an emply instance declaration normal
#15193 bug QSem makes nonsense claim normal
#15194 feature request Consider a QSem variant that can hold back resources normal
#15196 task Invert floating point comparisons such that no extra parity check is required. normal
#15200 bug RFC: export WordPtr from Data.Word and IntPtr from Data.Int rather than only from Foreign.Ptr normal
#15203 bug Wrong location reported for kind error normal
#15205 bug Unnecessary equality superclass normal
#15206 bug Strictness annotations bind more tightly than doc strings on non-record data declarations normal
#15208 bug GHC 8.4 fails to build on Debian armel (softfloat) normal
#15211 bug exprFreeVars does not include type variables normal
#15213 bug 32 bit Haddock runs out of memory compiling 32 bit GHC normal
#15219 task Implement UnliftedNewtypes proposal normal
#15220 bug ScopedTypeVariables binds a non-existent variable normal
#15225 bug `-fno-state-hack` produces incorrect results in nofib normal tdammers
#15233 bug You can always set fixity of (:), with no effect normal
#15234 bug WARNING in hptSomeThingsBelowUs when using a source plugin normal
#15235 bug GHCi's claim of infixr 0 (->) is a lie normal
#15239 bug Is there an issue with Haskell GHC 8.4.3 on Travis? normal
#15241 bug Validate failures in sanity way normal
#15246 bug -fghci-leak-cheak causes many testsuite failures with the quick build flavour normal
#15247 task Use empty types for TTG extension constructors normal
#15248 bug Coercions from plugins cannot be stopped from floating out normal
#15249 task Add support for cmpeq and cmpgt MMX intrinsics normal newhoggy
#15250 bug Add support for _mm512_shuffle_epi8 intrinsic normal
#15251 bug Add support for _mm_shuffle_pi8 intrinsic normal
#15252 bug syn_arg_wraps and syn_res_wrap are only populated after typechecking normal
#15253 feature request Add support for type-level integers normal
#15258 task Implement CMOV support. normal AndreasK
#15260 bug Xmobar crashes with segmentation fault normal
#15261 feature request Show -with-rtsopts options in runtime's --info normal
#15262 bug TH splice containing numeric literal 0 causes heap overflow while cross-compiling normal
#15263 bug Fuse zipWith3 normal
#15270 bug TH doesn't verify name types during conversion normal
#15271 bug 1e1000000000 :: Double yields 0.0 instead of Infinity normal
#15283 task Locale issue in the testsuite normal
#15288 bug Figure out what to do about retainer profiling debugging code normal
#15290 bug QuantifiedConstraints: panic "addTcEvBind NoEvBindsVar" normal
#15291 bug Incorrect SCC name parsing according to user manual normal
#2725 task Remove Hack in compiler/nativeGen/X86/CodeGen.hs low thoughtpolice
#11958 task Improved testing of cross-compiler low bgamari
#15218 bug HEAD doesn't build without sphinx-build low
#15227 bug Add PrelRules for par# low
#15289 bug isUnliftedType GHC panic on pattern with True :: Maybe low


Last modified 3 days ago Last modified on Jun 17, 2018 4:31:01 PM