I have been reading this StackOverflow post in which we are advised to use the haskellng
package set.
I have also read this but I did not understand what haskellng
is.
I have read this too, but I still don't know what haskellng
is.
Could someone please explain what haskellng
is in a simple, clear way?
Why does haskellng
matter ? Why is it good ?
I understand that haskellng
is replacing something. But what is that something that it replaces ? Why does that something need to be replaced ?
In this post it is written:
So I'll never have to update if I don't want to?
My guess is that 'haskellPackages' and 'haskellngPackages' will co-exist for a while. Personally, I switched to Haskell NG, though, and I won't maintain any packages in the old hierarchy anymore. I suppose other contributors will do the same thing. Once you've converted your setup to 'haskellngPackages', there's no reason to look back, really.
What is the difference between 'haskellPackages' and 'haskellngPackages' ?
What is 'haskellPackages' ? Where does it come from ? What is it used for ?
Also in the same post they write:
Why should I care about this "new infrastructure"?
The new code will break evaluation of any Haskell-related configuration you may have in ~/.nixpkgs/config.nix or /etc/nixos/configuration.nix.
Privately generated cabal2nix expressions will cease to compile.
Installations that rely on ghc-wrapper finding GHC libraries automatically in your ~/.nix-profile are obsolete. If you use this approach, you won't be able to update your profile anymore.
What is the new code ? What was the old code ? Why is the new code breaking what ?
Could someone please explain what haskellng is in a simple, clear way?
Well, haskellng
is the next generation Nix Haskell package set made for Nix. I think most of the work was done by Peter Simons. But note that in the latest master version, haskellngPackages
has been renamed back to haskellPackages
. So the difference doesn't matter if you are using living in the unstable channel.
Why does haskellng matter ? Why is it good ?
With haskellng
, I guess everything is automated. Someone uploads a package to hackage and in around a week, that package derivation is automatically included in the nix haskell package set (undex nixpkgs
) by some process (I guess it makes use of cabal2nix
).
What is the difference between 'haskellPackages' and 'haskellngPackages' ?
In the latest master branch there is no difference between them as explained above.
What is 'haskellPackages' ? Where does it come from ? What is it used for ?
It was the eariler infrastructure for Haskell nix packages. It was used for, um, creating and building Haskell packages.
What is the new code ? What was the old code ? Why is the new code it breaking what ?
The new code is the haskellngPackages
. The old code was haskellPackages
. But it doesn't matter now as haskellng has been renamed back to the old name and the old code I guess is removed.
I asked this on the #nix channel :
me: Could someone please explain what haskellng is ? What is haskellng? What is the difference between 'haskellPackages' and 'haskellngPackages'?
Fuuzetsu: it no longer matters, it's the default new architecture and the old one doesn't exist
Fuuzetsu: we had 2 Haskell architectures for a while and -ng was the new one
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With