[Nix-dev] GHC 7.8 plans

Gergely Risko gergely at risko.hu
Mon Mar 31 00:06:41 CEST 2014


Hi Peter,

On Sun, 30 Mar 2014 22:47:45 +0200, Peter Simons <simons at cryp.to> writes:

> Hi Gergely,
>
>  > This is what I wanted to know, that you want to switch after packages
>  > are OK and we're not waiting for a new haskell platform or whatever.
>  > I'd prefer this way too, switch as soon as it works reasonably for
>  > everything.
>
> personally, I believe that Haskell Platform is useful mainly to
> encourage library writers to retain a certain degree of backwards
> compatibility even if it's inconvenient. When I tell someone that his
> library doesn't build with the latest HP release, then they tend to
> perceive that a significant issue and usually make an effort to remedy
> the situation.

Actually for me as a Haskell contributor, regarding HP it's the other
way around: I only care about the newest versions and you'd have to kick
me to provide backward compatibility. ;)

> As a Haskell programmer, however, HP feels irrelevant to me. If I have
> to choose between different versions of the same library, I tend to
> choose the *latest* version -- regardless of what the latest HP release
> recommends. HP releases are far too infrequent to be relevant for
> day-to-day programming, IMHO.

Exactly, the same for me.

> For every haskellPackages_ghcXYZ package set, we pick a release of the
> Haskell Platform that feels "appropriate" for that compiler (i.e. the
> latest available version when that compiler was released), and then we
> enforce the package versions recommended by that HP release in the
> package set. Since we associate GHC 7.6.3 with HP 2013.2.0.0 -- which
> mandates alex 3.0.5 and happy 1.18.10 -- this is what you get in
> haskellPackages_ghc763.

Yes, this was what I suspected, from the source, but thanks for the
detailed description.

> Personally, I'd like to turn our various Haskell Platform environments
> into 'ghcWithPackages' expressions that live in all-packages.nix and
> provide exactly what they promise -- a properly installed Haskell
> Platform X.Y.Z that users can install into their profile. But those
> configurations should have no affect on the library versions we choose
> as defaults in haskellPackages_ghcXYZ. The default versions chosen there
> should always be the latest ones that we can choose without causing
> serious build failures.

This sounds like a good plan to me.  Sound more flexible for guys like
me, who only use the ghcWithPackages and provides the haskellplatform
derivation for people who need it for some reason.

> It's because 1.18 is specified by the current HP. I would like to change
> this behavior ASAP, but it's not exactly a trivial change to make and I
> can't say when I'll have the chance to pull it off.

Okay, I'm happy to hear that this will change and in exactly the
direction that I wanted to ask for.  Take your time and thanks in
advance!

Gergely



More information about the nix-dev mailing list