rl-1509.xml: update Haskell-related release notes

- Update the link to the manual to refer to the proper place.
 - Mention LTS Haskell and Stackage Nightly.
 - Minor cosmetic to improve readability.

(cherry picked from commit 8e00de424497d2cc6447c529785efa985bd3383c)
This commit is contained in:
Peter Simons 2015-09-30 16:15:36 +02:00
parent 0f2597ca1e
commit a06d46cd2d

View File

@ -12,16 +12,25 @@ has the following highlights:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>The Haskell packages infrastructure has been re-designed <para>The <link xlink:href="http://haskell.org/">Haskell</link>
from the ground up. NixOS now distributes the latest version of packages infrastructure has been re-designed from the ground up
every single package registered on <link (&quot;Haskell NG&quot;). NixOS now distributes the latest version
xlink:href="http://hackage.haskell.org/">Hackage</link>, i.e. well of every single package registered on <link
over 8000 Haskell packages. Further information and usage xlink:href="http://hackage.haskell.org/">Hackage</link> -- well in
instructions for the improved infrastructure are available at excess of 8,000 Haskell packages. Detailed instructions on how to
<link use that infrastructure can be found in the <link
xlink:href="https://nixos.org/wiki/Haskell">https://nixos.org/wiki/Haskell</link>. xlink:href="http://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure">User's
Users migrating from an earlier release will also find helpful Guide to the Haskell Infrastructure</link>. Users migrating from an
information below, in the list of backwards-incompatible changes.</para> earlier release may find helpful information below, in the list of
backwards-incompatible changes. Furthermore, we distribute 51(!)
additional Haskell package sets that provide every single <link
xlink:href="http://www.stackage.org/">LTS Haskell</link> release
since version 0.0 as well as the most recent <link
xlink:href="http://www.stackage.org/">Stackage Nightly</link>
snapshot. The announcement <link
xlink:href="http://lists.science.uu.nl/pipermail/nix-dev/2015-September/018138.html">&quot;Full
Stackage Support in Nixpkgs&quot;</link> gives additional
details.</para>
</listitem> </listitem>
<listitem> <listitem>
@ -135,38 +144,44 @@ fileSystems."/shiny" = {
<listitem> <listitem>
<para> <para>
Haskell packages can no longer be found by name, except for &quot;<literal>nix-env -qa</literal>&quot; no longer discovers
<literal>ghc</literal>, <literal>cabal-install</literal>, and Haskell packages by name. The only packages visible in the global
<literal>stack</literal>, even though we do package the whole Hackage. scope are <literal>ghc</literal>, <literal>cabal-install</literal>,
The reason for this inconvenience is the sheer size of the Haskell and <literal>stack</literal>, but all other packages are hidden. The
package set: name-based lookups such as these would become much reason for this inconvenience is the sheer size of the Haskell
slower than they are today if we'd add the entire Hackage database package set. Name-based lookups are expensive, and most
into the top level attribute set. Instead, the list of Haskell <literal>nix-env -qa</literal> operations would become much slower
packages can be displayed by if we'd add the entire Hackage database into the top level attribute
set. Instead, the list of Haskell packages can be displayed by
running:
</para> </para>
<programlisting> <programlisting>
nix-env -f &quot;&lt;nixpkgs&gt;&quot; -qaP -A haskellPackages nix-env -f &quot;&lt;nixpkgs&gt;&quot; -qaP -A haskellPackages
</programlisting> </programlisting>
<para> <para>
and packages can be installed with: Executable programs written in Haskell can be installed with:
</para> </para>
<programlisting> <programlisting>
nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA haskellPackages.cabal-install nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA haskellPackages.pandoc
</programlisting> </programlisting>
<para>
Installing Haskell <emphasis>libraries</emphasis> this way, however, is no
longer supported. See the next item for more details.
</para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Previous versions of NixOS came with a feature called Previous versions of NixOS came with a feature called
<literal>ghc-wrapper</literal>, a small wrapper script that allows <literal>ghc-wrapper</literal>, a small script that allowed GHC to
GHC to transparently pick up on libraries installed in the user's transparently pick up on libraries installed in the user's profile. This
profile. This feature has been deprecated; feature has been deprecated; <literal>ghc-wrapper</literal> was removed
<literal>ghc-wrapper</literal> was removed from the distribution. from the distribution. The proper way to register Haskell libraries with
The proper way to register Haskell libraries with the compiler now the compiler now is the <literal>haskellPackages.ghcWithPackages</literal>
is the <literal>haskellPackages.ghcWithPackages</literal> function. The <link
function. xlink:href="http://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure">User's
<link xlink:href="https://nixos.org/wiki/Haskell">https://nixos.org/wiki/Haskell</link> Guide to the Haskell Infrastructure</link> provides more information about
provides much information about this subject. this subject.
</para> </para>
</listitem> </listitem>