[ANNOUNCE] GHC 8.2.1 available

=============================================== The Glasgow Haskell Compiler -- version 8.2.1 =============================================== The GHC developers are very happy to announce the long-awaited 8.2.1 release of Glasgow Haskell Compiler. Binary and source distributions can be found at https://downloads.haskell.org/~ghc/8.2.1/ This is the second release in the 8.0 series. As such, the focus of this release is performance, stability, and consolidation. Consequently numerous cleanups can be seen throughout the compiler including, * Significant improvements in compiler performance * More robust support for levity polymorphism * Reliable DWARF debugging information * Improved runtime system performance on NUMA systems * Retooling of the cost-center profiler, including support for live streaming of profile data via the GHC event log * Interface file determinism * More robust treatment of join points, enabling significantly better code generation in many cases * Numerous improvements in robustness on Windows * and the resolution of over 500 other tickets In addition, there are a number of new features, * A new, more type-safe type reflection mechanism * The long-awaited Backpack module system * Deriving strategies to disambiguate between GHC's various instance deriving mechanisms * Unboxed sum types, for efficient unpacked representation of sum data types * Compact regions, allowing better control over garbage collection in the presence of large heaps containing many long-lived objects. * Colorful messages and caret diagnostics for more legible errors A more thorough list of the changes in this release can be found in the release notes, https://haskell.org/ghc/docs/8.2.1/docs/html/users_guide/8.2.1-notes.html There are a few changes in release-engineering that should be noted, * Binary distributions for 32-bit CentOS 6.7 have been dropped. Moreover, there are no dedicated CentOS 7.0 distributions as CentOS 7 can use can use Debian 8 binaries. If you would like us to continue to produce 32-bit CentOS 6.7 distributions please let us know. * GHC HQ now builds FreeBSD and OpenBSD distributions for amd64; this comes after many years of these distributions being faithfully provided by Karel Gardas and Pali Gabor Janos, who we should heartily thank for their contributions. GHC HQ building these distributions ourselves will allow us to more quickly ship distributions to users by eliminating the need for a long lag time between source release availability and having all binary distributions available. * There is a technology-preview of an AArch64 Linux binary distribution, as well as an ARM Linux build. AArch64 support is quite preliminary but should be stable in 8.4 thanks to further linker fixes by Moritz Angerman. ARM should be stable. * GHC now tries to use the gold and lld linkers by default. These linkers are significantly faster than the BFD linker implementation that most Linux distributions use by default. If gold or lld are not available GHC will use the system's default linker. GHC can be forced to use the default linker by passing --disable-ld-override to configure. This release has been the result of over a year of hard work by over 150 code contributors. Thanks to everyone who has helped in writing patches, testing, reporting bugs, and offering feedback over the last year. This release cycle was admittedly quite drawn out, significantly longer than expected or desired. While we are confident that the result is worth the wait, we have been steadily working on infrastructure which should help shrink future release cycles and give us better testing between releases. More details on this coming soon. As always, let us know if you encounter trouble. How to get it ~~~~~~~~~~~~~ The easy way is to go to the web page, which should be self-explanatory: http://www.haskell.org/ghc/ We supply binary builds in the native package format for many platforms, and the source distribution is available from the same place. Packages will appear as they are built - if the package for your system isn't available yet, please try again later. Background ~~~~~~~~~~ Haskell is a standard lazy functional programming language. GHC is a state-of-the-art programming suite for Haskell. Included is an optimising compiler generating efficient code for a variety of platforms, together with an interactive system for convenient, quick development. The distribution includes space and time profiling facilities, a large collection of libraries, and support for various language extensions, including concurrency, exceptions, and foreign language interfaces. GHC is distributed under a BSD-style open source license. A wide variety of Haskell related resources (tutorials, libraries, specifications, documentation, compilers, interpreters, references, contact information, links to research groups) are available from the Haskell home page (see below). On-line GHC-related resources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Relevant URLs on the World-Wide Web: GHC home page http://www.haskell.org/ghc/ GHC developers' home page http://ghc.haskell.org/trac/ghc/ Haskell home page http://www.haskell.org/ Supported Platforms ~~~~~~~~~~~~~~~~~~~ The list of platforms we support, and the people responsible for them, is here: http://ghc.haskell.org/trac/ghc/wiki/Contributors Ports to other platforms are possible with varying degrees of difficulty. The Building Guide describes how to go about porting to a new platform: http://ghc.haskell.org/trac/ghc/wiki/Building Developers ~~~~~~~~~~ We welcome new contributors. Instructions on accessing our source code repository, and getting started with hacking on GHC, are available from the GHC's developer's site run by Trac: http://ghc.haskell.org/trac/ghc/ Mailing lists ~~~~~~~~~~~~~ We run mailing lists for GHC users and bug reports; to subscribe, use the web interfaces at http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-tickets There are several other haskell and ghc-related mailing lists on www.haskell.org; for the full list, see https://mail.haskell.org/cgi-bin/mailman/listinfo Some GHC developers hang out on #haskell on IRC, too: http://www.haskell.org/haskellwiki/IRC_channel Please report bugs using our bug tracking system. Instructions on reporting bugs can be found here: http://www.haskell.org/ghc/reportabug

Minor editorial note (thanks to everyone who brought this to my attention): The URL listed in the announcement for the release notes isn't quite right. The release notes can be found at,
https://haskell.org/ghc/docs/8.2.1/html/users_guide/8.2.1-notes.html
Sorry for the confusion. Cheers, - Ben

Am Samstag, den 22.07.2017, 23:03 -0400 schrieb Ben Gamari:
In addition, there are a number of new features,
* A new, more type-safe type reflection mechanism
* The long-awaited Backpack module system
* Deriving strategies to disambiguate between GHC's various instance deriving mechanisms
* Unboxed sum types, for efficient unpacked representation of sum data types
* Compact regions, allowing better control over garbage collection in the presence of large heaps containing many long-lived objects.
* Colorful messages and caret diagnostics for more legible errors
A more thorough list of the changes in this release can be found in the release notes,
https://haskell.org/ghc/docs/8.2.1/docs/html/users_guide/8.2.1-notes.html
It seems that the release notes mention the new type reflection mechanism und colorful messages only in the “Highlights” section, not in the “Full details” section, and that they do not mention the Backpack module system and unboxed sums at all. All the best, Wolfgang

Wolfgang Jeltsch
Am Samstag, den 22.07.2017, 23:03 -0400 schrieb Ben Gamari:
In addition, there are a number of new features,
* A new, more type-safe type reflection mechanism
* The long-awaited Backpack module system
* Deriving strategies to disambiguate between GHC's various instance deriving mechanisms
* Unboxed sum types, for efficient unpacked representation of sum data types
* Compact regions, allowing better control over garbage collection in the presence of large heaps containing many long-lived objects.
* Colorful messages and caret diagnostics for more legible errors
A more thorough list of the changes in this release can be found in the release notes,
https://haskell.org/ghc/docs/8.2.1/docs/html/users_guide/8.2.1-notes.html
It seems that the release notes mention the new type reflection mechanism und colorful messages only in the “Highlights” section, not in the “Full details” section, and that they do not mention the Backpack module system and unboxed sums at all.
Yes, indeed these were oversights. They are fixed in the ghc-8.2 branch and I will try to push newly generated documentation shortly. Cheers, - Ben

This seems like a silly question, but how can we install cabal-install
now? The latest hackage version 1.24.0.2 has Cabal (>=1.24.2 &&
<1.25), but it looks like ghc Cabal is now at 2.*.
I ran into this because if I get:
% cabal install --only-dependencies
Resolving dependencies...
cabal: internal error when reading package index: failed to parse .cabal
fileThe package index or index cache is probably corrupt. Running cabal update
might fix it.
It seems to be triggered by having 'ekg' in the deps list, since if I
take it out then I get some other errors about packages not liking the
new base, which is true. 'ekg' also doesn't like the new base, but
"internal error" is not the clearest way to express that :)
It's frustrating that cabal-install still doesn't report the parse
error, even though the parse function returns one. It just ignores
the ParseFailed case. I was going to try fixing it and send a pull
request when I ran into the Cabal 2.* problem.
On Wed, Jul 26, 2017 at 7:15 AM, Ben Gamari
Wolfgang Jeltsch
writes: Am Samstag, den 22.07.2017, 23:03 -0400 schrieb Ben Gamari:
In addition, there are a number of new features,
* A new, more type-safe type reflection mechanism
* The long-awaited Backpack module system
* Deriving strategies to disambiguate between GHC's various instance deriving mechanisms
* Unboxed sum types, for efficient unpacked representation of sum data types
* Compact regions, allowing better control over garbage collection in the presence of large heaps containing many long-lived objects.
* Colorful messages and caret diagnostics for more legible errors
A more thorough list of the changes in this release can be found in the release notes,
https://haskell.org/ghc/docs/8.2.1/docs/html/users_guide/8.2.1-notes.html
It seems that the release notes mention the new type reflection mechanism und colorful messages only in the “Highlights” section, not in the “Full details” section, and that they do not mention the Backpack module system and unboxed sums at all.
Yes, indeed these were oversights. They are fixed in the ghc-8.2 branch and I will try to push newly generated documentation shortly.
Cheers,
- Ben
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users

Hi! I ran into the same problem. Apparently, we need cabal-install 2.0, which has not been released yet. A preliminary solution is to use the development version from the 2.0 branch. Binary packages can be found at http://ppa.launchpad.net/hvr/ghc/ubuntu/pool/main/c/cabal-install-2.0/ , for example. It is possible to extract the cabal-install executable from these packages, so that it can be installed without using some Linux distribution package manager. All the best, Wolfgang Am Mittwoch, den 26.07.2017, 18:45 -0700 schrieb Evan Laforge:
This seems like a silly question, but how can we install cabal-install now? The latest hackage version 1.24.0.2 has Cabal (>=1.24.2 && <1.25), but it looks like ghc Cabal is now at 2.*.
I ran into this because if I get:
% cabal install --only-dependencies Resolving dependencies... cabal: internal error when reading package index: failed to parse .cabal fileThe package index or index cache is probably corrupt. Running cabal update might fix it.
It seems to be triggered by having 'ekg' in the deps list, since if I take it out then I get some other errors about packages not liking the new base, which is true. 'ekg' also doesn't like the new base, but "internal error" is not the clearest way to express that :)
It's frustrating that cabal-install still doesn't report the parse error, even though the parse function returns one. It just ignores the ParseFailed case. I was going to try fixing it and send a pull request when I ran into the Cabal 2.* problem.
On Wed, Jul 26, 2017 at 7:15 AM, Ben Gamari
wrote: Wolfgang Jeltsch
writes: Am Samstag, den 22.07.2017, 23:03 -0400 schrieb Ben Gamari:
In addition, there are a number of new features,
* A new, more type-safe type reflection mechanism
* The long-awaited Backpack module system
* Deriving strategies to disambiguate between GHC's various instance deriving mechanisms
* Unboxed sum types, for efficient unpacked representation of sum data types
* Compact regions, allowing better control over garbage collection in the presence of large heaps containing many long-lived objects.
* Colorful messages and caret diagnostics for more legible errors
A more thorough list of the changes in this release can be found in the release notes,
https://haskell.org/ghc/docs/8.2.1/docs/html/users_guide/8.2.1 -notes.html
It seems that the release notes mention the new type reflection mechanism und colorful messages only in the “Highlights” section, not in the “Full details” section, and that they do not mention the Backpack module system and unboxed sums at all.
Yes, indeed these were oversights. They are fixed in the ghc-8.2 branch and I will try to push newly generated documentation shortly.
Cheers,
- Ben
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-use rs

Thanks for the reply. I got cabal-install from
https://github.com/haskell/cabal/ and assumed it was the latest
version... but now that I look carefully I see it has a 2.0 branch. I
compiled it and I don't get that confusing "parse error" any more. It
looks like a nicer error message in general too (except still missing
some spaces, specifically "After searching the rest of the dependency
tree exhaustively, these were the goals I've had most trouble
fulfilling: karya, ekgTrying configure anyway."), so that's probably
thanks to the solver improvements in 2.0.
Since it's apparently just a bug in older cabal-installs I guess I
won't bother trying to find it.
On Wed, Jul 26, 2017 at 7:01 PM, Wolfgang Jeltsch
Hi!
I ran into the same problem.
Apparently, we need cabal-install 2.0, which has not been released yet. A preliminary solution is to use the development version from the 2.0 branch. Binary packages can be found at
http://ppa.launchpad.net/hvr/ghc/ubuntu/pool/main/c/cabal-install-2.0/ ,
for example. It is possible to extract the cabal-install executable from these packages, so that it can be installed without using some Linux distribution package manager.
All the best, Wolfgang
Am Mittwoch, den 26.07.2017, 18:45 -0700 schrieb Evan Laforge:
This seems like a silly question, but how can we install cabal-install now? The latest hackage version 1.24.0.2 has Cabal (>=1.24.2 && <1.25), but it looks like ghc Cabal is now at 2.*.
I ran into this because if I get:
% cabal install --only-dependencies Resolving dependencies... cabal: internal error when reading package index: failed to parse .cabal fileThe package index or index cache is probably corrupt. Running cabal update might fix it.
It seems to be triggered by having 'ekg' in the deps list, since if I take it out then I get some other errors about packages not liking the new base, which is true. 'ekg' also doesn't like the new base, but "internal error" is not the clearest way to express that :)
It's frustrating that cabal-install still doesn't report the parse error, even though the parse function returns one. It just ignores the ParseFailed case. I was going to try fixing it and send a pull request when I ran into the Cabal 2.* problem.
On Wed, Jul 26, 2017 at 7:15 AM, Ben Gamari
wrote: Wolfgang Jeltsch
writes: Am Samstag, den 22.07.2017, 23:03 -0400 schrieb Ben Gamari:
In addition, there are a number of new features,
* A new, more type-safe type reflection mechanism
* The long-awaited Backpack module system
* Deriving strategies to disambiguate between GHC's various instance deriving mechanisms
* Unboxed sum types, for efficient unpacked representation of sum data types
* Compact regions, allowing better control over garbage collection in the presence of large heaps containing many long-lived objects.
* Colorful messages and caret diagnostics for more legible errors
A more thorough list of the changes in this release can be found in the release notes,
https://haskell.org/ghc/docs/8.2.1/docs/html/users_guide/8.2.1 -notes.html
It seems that the release notes mention the new type reflection mechanism und colorful messages only in the “Highlights” section, not in the “Full details” section, and that they do not mention the Backpack module system and unboxed sums at all.
Yes, indeed these were oversights. They are fixed in the ghc-8.2 branch and I will try to push newly generated documentation shortly.
Cheers,
- Ben
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-use rs
participants (4)
-
Ben Gamari
-
Ben Gamari
-
Evan Laforge
-
Wolfgang Jeltsch