Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
GHC
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
4,256
Issues
4,256
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
394
Merge Requests
394
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Glasgow Haskell Compiler
GHC
Commits
63889324
Commit
63889324
authored
Jun 09, 2013
by
ian@well-typed.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://darcs.haskell.org/ghc
parents
86ca77ec
16dc39eb
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
476 additions
and
15 deletions
+476
-15
docs/users_guide/7.8.1-notes.xml
docs/users_guide/7.8.1-notes.xml
+476
-15
No files found.
docs/users_guide/7.8.1-notes.xml
View file @
63889324
...
...
@@ -3,9 +3,9 @@
<title>
Release notes for version 7.8.1
</title>
<para>
The significant changes to the various parts of the compiler are
listed in the following sections. There have also been numerous bug
fixes and
performance improvements over the 7.6 branch.
The significant changes to the various parts of the compiler are listed
in the following sections. There have also been numerous bug fixes and
performance improvements over the 7.6 branch.
</para>
<sect2>
...
...
@@ -18,16 +18,477 @@
<itemizedlist>
<listitem>
<para>
TODO: Format these nicely and expand:
- type holes
- rebindable list syntax
- major changes to the type inference engine
- type level naturals
- overlapping type families
- new codegen
GHC now supports "type holes" with the
<literal>
TypeHoles
</literal>
extension. When enabled, the
unbound literal
<literal>
_
</literal>
may be used during
development in place of a regular identifier, and GHC will
respond with the type necessary to "fill in the hole."
TODO FIXME: reference.
</para>
</listitem>
<listitem>
<para>
GHC now supports overloading list literals using the new
<literal>
OverloadedLists
</literal>
extension.
TODO FIXME: reference.
</para>
</listitem>
<listitem>
<para>
GHC now supports overlapping type family instances when
<literal>
TypeFamilies
</literal>
are enabled.
TODO FIXME: reference.
</para>
</listitem>
<listitem>
<para>
There has been significant overhaul of the type inference engine and
constraint solver.
TODO FIXME: reference.
</para>
</listitem>
<listitem>
<para>
By default, GHC will now unbox all "small" strict fields in a
data type. A "small" data type is one whose size is equivalent
to or smaller than the native word size of the machine. This
means you no longer have to specify
<literal>
UNPACK
</literal>
pragmas for e.g.
<literal>
Int
</literal>
fields. This also
applies to floating-point values.
</para>
</listitem>
<listitem>
<para>
GHC now has a brand-new I/O manager that scales significantly
better for larger workloads compared to the previous one. It
should scale linearly up to approximately 32 cores.
</para>
</listitem>
<listitem>
<para>
The LLVM backend now supports 128bit SIMD operations. This is
now exploited in both the
<literal>
vector
</literal>
and
<literal>
dph
</literal>
packages, exposing a high level
interface.
TODO FIXME: reference.
</para>
<para>
This is only available with the LLVM backend.
</para>
</listitem>
<listitem>
<para>
The new code generator, after significant work by many
individuals over the past several years, is now enabled by
default. This is a complete rewrite of the STG to Cmm
transformation. In general, your programs may get slightly
faster.
</para>
<para>
The old code generator has been removed completely.
</para>
</listitem>
<listitem>
<para>
TODO: mention dynamic changes
</para>
</listitem>
<listitem>
<para>
TODO: mention new
<literal>
Typeable
</literal>
and
<literal>
AutoDeriveTypeable
</literal>
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect2>
<title>
Full details
</title>
<sect3>
<title>
Language
</title>
<itemizedlist>
<listitem>
<para>
TODO FIXME
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
Compiler
</title>
<itemizedlist>
<listitem>
<para>
GHC now supports a
<literal>
--show-options
</literal>
flag,
which will dump all of the flags it supports to standard out.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
GHCi
</title>
<itemizedlist>
<listitem>
<para>
TODO FIXME
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
Template Haskell
</title>
<itemizedlist>
<listitem>
<para>
TODO FIXME
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
Runtime system
</title>
<itemizedlist>
<listitem>
<para>
The performance of
<literal>
StablePtr
</literal>
s and
<literal>
StableName
</literal>
s has been improved.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
Build system
</title>
<itemizedlist>
<listitem>
<para>
GHC >= 7.4 is now required for bootstrapping.
</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2>
<title>
Libraries
</title>
<para>
There have been some changes that have effected multiple
libraries:
</para>
<itemizedlist>
<listitem>
<para>
TODO FIXME
</para>
</listitem>
</itemizedlist>
<para>
The following libraries have been removed from the GHC tree:
</para>
<itemizedlist>
<listitem>
<para>
TODO FIXME
</para>
</listitem>
</itemizedlist>
<para>
The following libraries have been added to the GHC tree:
</para>
<itemizedlist>
<listitem>
<para>
TODO FIXME
</para>
</listitem>
</itemizedlist>
<sect3>
<title>
array
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
base
</title>
<itemizedlist>
<listitem>
<para>
Version number 4.7.0.0 (was 4.6.0.1)
</para>
</listitem>
<listitem>
<para>
The
<literal>
Control.Category
</literal>
module now has the
<literal>
PolyKinds
</literal>
extension enabled, meaning
that instances of
<literal>
Category
</literal>
no longer
need be of kind
<literal>
* -> * -> *
</literal>
</para>
</listitem>
<listitem>
<para>
There are now
<literal>
Foldable
</literal>
and
<literal>
Traversable
</literal>
instances for
<literal>
Either a
</literal>
and
<literal>
(,) a
</literal>
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
bin-package-db
</title>
<itemizedlist>
<listitem>
<para>
This is an internal package, and should not be used.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
binary
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
bytestring
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
Cabal
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
containers
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
deepseq
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
directory
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
filepath
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
ghc-prim
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
haskell98
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
haskell2010
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
hoopl
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
hpc
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
integer-gmp
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
old-locale
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
old-time
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
process
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
template-haskell
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
time
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
unix
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>
Win32
</title>
<itemizedlist>
<listitem>
<para>
Version number XXXX (was XXXX)
</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment