[ANNOUNCE] GHC 8.2.1 release candidate 2

Alberto Valverde alberto at toscat.net
Fri May 19 09:33:36 UTC 2017


I'm trying to build an app with the new release candidate and I'm running
into a couple of issues, some which I can fix or workaround, some are
worrisome and others are blocking me. I'm using Nix, if that matters.

The fixable

- The expected too strict version bounds. Worked around using doJailbreak,
will send PRs to the respective packages with relaxed bounds.
- A weird kind error when using ConstraintKinds in a propietary package
which didn't manifest itself with ghc < 8.2:

src/Sigym4/Propag/Types.hs:1071:4: error:
    • Expected a type, but
      ‘(PropagIOConstraint l a,
        Missing (PropagIOVector l) (PropagIONullable l a),
        Elem (PropagIONullable l a) ~ a)’ has kind
    • In the type ‘((PropagIOConstraint l a,
                     Missing (PropagIOVector l) (PropagIONullable l a),
                     Elem (PropagIONullable l a) ~ a))’
      In the type declaration for ‘CanSerialize’
1071 |   (( PropagIOConstraint l a
     |    ^^^^^^^^^^^^^^^^^^^^^^^^...

src/Sigym4/Propag/Types.hs:1077:4: error:
    • Expected a constraint,
        but ‘(CanSerialize l Double, CanSerialize l Int16)’ has kind ‘*’
    • In the type ‘(CanSerialize l Double, CanSerialize l Int16)’
      In the type declaration for ‘CanSerializePropagTypes’
1077 |    ( CanSerialize l Double
     |    ^^^^^^^^^^^^^^^^^^^^^^^...

I cannot link to the source for this package since it belongs to my
employer but I think that the interesting code is:

type CanSerialize l a =
( PropagIOConstraint l a
, Missing (PropagIOVector l) (PropagIONullable l a)
, Elem (PropagIONullable l a) ~ a

where PropagIOConstraint, PropagIONullable and PropagIOVector are
"standalone" type families and Elem is an associated type family (not from

Both errors disappear if I give an explicit kind signature like this: "type
CanSerialize l a = (..... :: Constraint)". Is this expected behaviour?
Should I try to isolate and open a ticket?

The worrisome

- I had to disable the tests for two packages since they seem to "hang"
 (ie: they never finish running and don't seem to consume any CPU time).
These packages are lens-4.15.1 and fingertree- Maybe it's a Nix
environmental issue, I'm not sure. Can anyone reproduce this?

The blockers

- I can't manage to install several packages which include executables
(namely, update-nix-fetchgit and snap-server, for the moment) because Cabal
says that it cannot find the source for the main module of the executables:

"Setup: can't find source for Main in ."

It seems that the "hs-source-dir" directive in the .cabal file is not being
honored. Maybe a Nix-only issue? Can anyone reproduce this? Any ideas on
how can I fix it?

Thanks very much for GHC, btw :)


On Tue, May 16, 2017 at 4:47 AM, Ben Gamari <ben at well-typed.com> wrote:

> Hello everyone,
> The GHC team is very pleased to announce the second candidate of the
> 8.2.1 release of the Glasgow Haskell Compiler. Source and binary
> distributions are available at
>     https://downloads.haskell.org/~ghc/8.2.1-rc2/
> This is the second of what will likely be either two or three release
> candidates leading up the final 8.2.1 release. This release will
> feature,
>   * A new type-indexed Typeable implementation
>   * The long awaited Backpack
>   * Deriving strategies for disambiguating DeriveAnyClass,
>     GeneralizedNewtypeDeriving, and stock mechanisms
>   * Overloaded record fields
>   * Improved compiler performance
>   * Better code generation through more robust tracking of join points
>   * Compact regions for more efficient garbage collection and serialization
>   * Better support for machines with non-uniform memory architectures
>   * More robust support for levity (e.g. RuntimeRep) polymorphism
>   * A simple interface for streaming eventlog data from live processes
>   * Further refinement of DWARF support
> This candidate fixes most of the issues present in release candidate
> one including,
>  * #13233: typePrimRep panic while compiling GHC with profiling enabled
>  * #13509: type error involving unboxed tuples
>  * #13426: compile-time memory-usage regression
>  * #13560: Windows binary distributions carry absolute paths to toolchain
>  * #13585: Control.Lens.Wrapped.ala causes compiler panic
>  * #13623: Join points produce bad code for stream fusion
> As always, please let us know if you have difficulty. Thanks to everyone
> who has contributed!
> Happy testing,
> - Ben
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20170519/ee30dbc2/attachment.html>

More information about the ghc-devs mailing list