8.2.1-notes.rst 3.42 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
.. _release-8-2-1:

Release notes for version 8.2.1
===============================

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 8.0 branch.

Highlights
----------

The highlights since the 8.0 branch are:

- TODO FIXME
16
- SCC annotations can now be used for declarations.
17 18 19 20 21 22 23 24 25

Full details
------------

Language
~~~~~~~~

-  TODO FIXME.

26 27 28
- Pattern synonym signatures can now be applied to multiple patterns, just like
  value-level binding signatures. See :ref:`patsyn-typing` for details.

29 30 31
Compiler
~~~~~~~~

32
-  TODO FIXME.
33

34
- Old profiling flags ``-auto-all``, ``-auto``, and ``-caf-all`` are deprecated
35
  and their usage provokes a compile-time warning.
36 37 38 39

- Support for adding cost centres to declarations is added. The same `SCC`
  syntax can be used, in addition to a new form for specifying the cost centre
  name. See :ref:`scc-pragma` for examples.
40

41 42 43 44 45 46 47 48 49 50
GHCi
~~~~

-  TODO FIXME.

Template Haskell
~~~~~~~~~~~~~~~~

-  TODO FIXME.

51 52 53 54 55
- ``addModFinalizer`` now exposes the local typing environment at the splice
  point. This allows ``reify`` to see local and top-level definitions in the
  current declaration group when used as in

  .. code-block:: none
56 57

      f x = $(addModFinalizer (reify 'x >>= runIO . print) >> [| x |])
58

59 60 61 62 63
Runtime system
~~~~~~~~~~~~~~

-  TODO FIXME.

64 65 66 67
- The :ref:`heap profiler <prof-heap>` can now emit heap census data to the GHC
  event log, allowing heap profiles to be correlated with other tracing events
  (see :ghc-ticket:`11094`).

68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
Build system
~~~~~~~~~~~~

-  TODO FIXME.

Package system
~~~~~~~~~~~~~~

-  TODO FIXME.

hsc2hs
~~~~~~

-  TODO FIXME.

Libraries
---------

array
~~~~~

-  Version number XXXXX (was 0.5.0.0)


.. _lib-base:

base
~~~~

See ``changelog.md`` in the ``base`` package for full release notes.

-  Version number 4.10.0.0 (was 4.9.0.0)

101 102
- ``Data.Either`` now provides ``fromLeft`` and ``fromRight``

103 104 105
- ``Data.Type.Coercion`` now provides ``gcoerceWith``, which is analogous to
  ``gcastWith`` from ``Data.Type.Equality``.

106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
binary
~~~~~~

-  Version number XXXXX (was 0.7.1.0)

bytestring
~~~~~~~~~~

-  Version number XXXXX (was 0.10.4.0)

Cabal
~~~~~

-  Version number XXXXX (was 1.18.1.3)

containers
~~~~~~~~~~

-  Version number XXXXX (was 0.5.4.0)

deepseq
~~~~~~~

-  Version number XXXXX (was 1.3.0.2)

directory
~~~~~~~~~

-  Version number XXXXX (was 1.2.0.2)

filepath
~~~~~~~~

-  Version number XXXXX (was 1.3.0.2)

ghc
~~~

-  TODO FIXME.

ghc-boot
~~~~~~~~

-  This is an internal package. Use with caution.

-  TODO FIXME.

ghc-prim
~~~~~~~~

-  Version number XXXXX (was 0.3.1.0)

158
-  Added new ``isByteArrayPinned#`` and ``isMutableByteArrayPinned#`` operation.
159

160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
haskell98
~~~~~~~~~

-  Version number XXXXX (was 2.0.0.3)

haskell2010
~~~~~~~~~~~

-  Version number XXXXX (was 1.1.1.1)

hoopl
~~~~~

-  Version number XXXXX (was 3.10.0.0)

hpc
~~~

-  Version number XXXXX (was 0.6.0.1)

integer-gmp
~~~~~~~~~~~

-  Version number XXXXX (was 0.5.1.0)

old-locale
~~~~~~~~~~

-  Version number XXXXX (was 1.0.0.6)

old-time
~~~~~~~~

-  Version number XXXXX (was 1.1.0.2)

process
~~~~~~~

-  Version number XXXXX (was 1.2.0.0)

template-haskell
~~~~~~~~~~~~~~~~

-  Version number XXXXX (was 2.9.0.0)

time
~~~~

-  Version number XXXXX (was 1.4.1)

unix
~~~~

-  Version number XXXXX (was 2.7.0.0)

Win32
~~~~~

-  Version number XXXXX (was 2.3.0.1)

Known bugs
----------

-  TODO FIXME