Skip to content
Snippets Groups Projects
Commit 25e416df authored by Austin Seipp's avatar Austin Seipp
Browse files

Update release notes


Signed-off-by: default avatarAustin Seipp <aseipp@pobox.com>
parent 62d716e8
No related branches found
No related tags found
No related merge requests found
......@@ -18,7 +18,94 @@
<itemizedlist>
<listitem>
<para>
TODO FIXME
GHC now has support for plugins which modify the type
checker. This allows external users to interface with
GHC and write type-checking plugins to solve
constraints and equalities generated by the
typechecker.
</para>
<para>
This feature is experimental and will likely change in
the future.
</para>
</listitem>
<listitem>
<para>
GHC has implemented "The Applicative Monad Proposal",
meaning the <literal>Applicative</literal> typeclass
is now a superclass of <literal>Monad</literal>. This
is a breaking change and your programs will need to be
updated.
</para>
</listitem>
<listitem>
<para>
GHC has implemented the "Burning Bridges Proposal",
meaning that many of the combinators in
<literal>Prelude</literal> are now re-exported from
more generic modules (such as
<literal>Data.Traversable</literal>), rather than exporting
custom, less-generic versions. This is a change that
may require updates to your program.
</para>
</listitem>
<listitem>
<para>
GHC now has support for 'partial type signatures',
which give you the ability to add 'holes' to a type
signature that the compiler can later infer. For more,
see <xref linkend="partial-type-signatures"/>.
</para>
</listitem>
<listitem>
<para>
GHC now has support for a new extension,
<literal>-XStaticPointers</literal>, that allows you
to (de)reference and serialize pointers to known,
closed expressions. This is primarily aimed at making
distributed programming (via interfaces like Cloud
Haskell) easier. For more, see <xref
linkend="static-pointers"/>.
</para>
<para>
This feature is experimental and will likely change in
the future.
</para>
</listitem>
<listitem>
<para>
GHC now has preliminary support for DWARF-based
debugging, when compiling programs with the new
<literal>-g</literal> option. This will embed DWARF
information into the module object files, which can
then be read by tools like GDB for backtraces or
single-stepping.
</para>
<para>
This feature is <emphasis>highly</emphasis>
experimental and will likely change in the future, but
should still be useful today.
</para>
</listitem>
<listitem>
<para>
The <literal>integer-gmp</literal> package has been
completely rewritten from the ground up. The primary
change in this rewrite is that GHC-compiled programs
that link to GMP no longer 'hook' GMP allocation
routines, to create an <literal>Integer</literal> on
the raw Haskell heap. Instead,
<literal>integer-gmp</literal> now allocates all
memory in Haskell code, and talks to GMP via normal
FFI imports like other C code.
</para>
<para>
The practical side effect of this is that C libraries
which bind to GMP (such as MPFR or FLINT) no longer
need careful (or impossible) hacks to be used inside a
GHC-compiled program via the FFI; GMP is treated just
like any other C library, with no special
accomodations.
</para>
</listitem>
</itemizedlist>
......@@ -242,7 +329,14 @@ data Vec n s where
<itemizedlist>
<listitem>
<para>
TODO FIXME
It's now possible to use <literal>:set
-l{foo}</literal> in GHCi to link against a
foreign library after startup.
</para>
</listitem>
<listitem>
<para>
Pattern synonyms are now supported in GHCi.
</para>
</listitem>
</itemizedlist>
......@@ -323,7 +417,7 @@ data Vec n s where
and <literal>Loc</literal>.
</para>
</listitem>
<listitem>
<para>
Two new declaration forms are now supported:
......@@ -388,11 +482,6 @@ data Vec n s where
<sect3>
<title>Package system</title>
<itemizedlist>
<listitem>
<para>
TODO: cover module renaming, thinning, re-export etc
</para>
</listitem>
<listitem>
<para>
ghc-pkg (and ghc) have dropped support for single-file style
......@@ -427,7 +516,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 0.5.0.0)
Version number 0.5.0.1 (was 0.5.0.0)
</para>
</listitem>
</itemizedlist>
......@@ -438,7 +527,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 4.7.0.0)
Version number 4.8.0.0 (was 4.7.0.0)
</para>
</listitem>
<listitem>
......@@ -487,7 +576,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 0.10.4.0)
Version number 0.10.6.0 (was 0.10.4.0)
</para>
</listitem>
</itemizedlist>
......@@ -498,7 +587,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 1.18.1.3)
Version number 1.22.1.0 (was 1.18.1.3)
</para>
</listitem>
</itemizedlist>
......@@ -509,7 +598,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 0.5.4.0)
Version number 0.5.6.2 (was 0.5.4.0)
</para>
</listitem>
</itemizedlist>
......@@ -520,7 +609,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 1.3.0.2)
Version number 1.4.0.0 (was 1.3.0.2)
</para>
</listitem>
</itemizedlist>
......@@ -531,7 +620,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 1.2.0.2)
Version number 1.2.2.0 (was 1.2.0.2)
</para>
</listitem>
</itemizedlist>
......@@ -542,7 +631,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 1.3.0.2)
Version number 1.3.1.0 (was 1.3.0.2)
</para>
</listitem>
</itemizedlist>
......@@ -584,29 +673,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 0.3.1.0)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>haskell98</title>
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 2.0.0.3)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>haskell2010</title>
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 1.1.1.1)
Version number 0.3.1.0 (was 0.3.1.0)
</para>
</listitem>
</itemizedlist>
......@@ -617,7 +684,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 3.10.0.0)
Version number 3.10.0.2 (was 3.10.0.0)
</para>
</listitem>
</itemizedlist>
......@@ -628,7 +695,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 0.6.0.1)
Version number 0.6.0.2 (was 0.6.0.1)
</para>
</listitem>
</itemizedlist>
......@@ -639,29 +706,21 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 0.5.1.0)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>old-locale</title>
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 1.0.0.6)
Version number 1.0.0.0 (was 0.5.1.0)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>old-time</title>
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 1.1.0.2)
The <literal>integer-gmp</literal> package has
been completely rewritten to be more efficient and
interoperate more sanely with the GMP
library. Specifically, GHC no longer needs to
'hook' the GMP memory allocators to make
allocations exist on the Haskell heap, a
complication which makes GMP-dependent C libraries
difficult. This means external libraries that use
GMP (such as MPFR or FLINT) can now be trivially
FFI'd to without any complication.
</para>
</listitem>
</itemizedlist>
......@@ -672,7 +731,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 1.2.0.0)
Version number 1.2.2.0 (was 1.2.0.0)
</para>
</listitem>
</itemizedlist>
......@@ -683,7 +742,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 2.9.0.0)
Version number 2.10.0.0 (was 2.9.0.0)
</para>
</listitem>
</itemizedlist>
......@@ -694,7 +753,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 1.4.1)
Version number 1.5.0.1 (was 1.4.1)
</para>
</listitem>
</itemizedlist>
......@@ -705,7 +764,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 2.7.0.0)
Version number 2.7.1.0 (was 2.7.0.0)
</para>
</listitem>
</itemizedlist>
......@@ -716,7 +775,7 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
Version number XXXXX (was 2.3.0.1)
Version number 2.3.0.2 (was 2.3.0.1)
</para>
</listitem>
</itemizedlist>
......@@ -728,7 +787,30 @@ echo "[]" > package.conf
<itemizedlist>
<listitem>
<para>
TODO FIXME
For issues dealing with language changes, please see
the <ulink
href="https://ghc.haskell.org/trac/ghc/wiki/Migration/7.10">GHC
7.10 Migration Guide</ulink> on the GHC wiki.
</para>
</listitem>
<listitem>
<para>
On Mac OS X, the <literal>-threaded</literal> Garbage
Collector currently suffers from a large performance
penalty due to a lack of system-specific optimization
(issue #7602).
</para>
</listitem>
<listitem>
<para>
GHC's LLVM backend is currently incompatible with LLVM
3.4 (issue #9929).
</para>
</listitem>
<listitem>
<para>
GHCi fails to appropriately load
<literal>.dyn_o</literal> files (issue #8736).
</para>
</listitem>
</itemizedlist>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment