Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
GHC
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Alexander Kaznacheev
GHC
Commits
25e416df
Commit
25e416df
authored
10 years ago
by
Austin Seipp
Browse files
Options
Downloads
Patches
Plain Diff
Update release notes
Signed-off-by:
Austin Seipp
<
aseipp@pobox.com
>
parent
62d716e8
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
docs/users_guide/7.10.1-notes.xml
+148
-66
148 additions, 66 deletions
docs/users_guide/7.10.1-notes.xml
with
148 additions
and
66 deletions
docs/users_guide/7.10.1-notes.xml
+
148
−
66
View file @
25e416df
...
...
@@ -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>
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment