8.0.2-notes.rst 1.75 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
.. _release-8-0-2:

Release notes for version 8.0.2
===============================

TODO FIXME

Highlights
----------

TODO FIXME.

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

Language
~~~~~~~~

-  TODO FIXME.

-  :ghc-flag:`-XStaticPointers` now allows the body of the ``static`` form to
   refer to closed local bindings. For instance, this is now permitted:
   ``f = static x where x = 'a'``.
24

25
26
27
Compiler
~~~~~~~~

28
29
-  The :ghc-flag:`-Wredundant-constraints` flag has been removed from the
   :ghc-flag:`-Wall` flag set (see :ghc-ticket:`10635`).
30
31
32
33
34
35

-  The :ghc-flag:`-ddump-cmm` now dumps the result after C-- pipeline pass. Two
   more flags were added: :ghc-flag:`-ddump-cmm-from-stg` to allow to get the
   initial cmm from STG-to-C-- code generation and :ghc-flag:`-ddump-cmm-verbose`
   to obtain the intermediates from all C-- pipeline stages.

36
37
38
39
40
41
42
43
44
45
46
47
48
Template Haskell
~~~~~~~~~~~~~~~~

-  TODO FIXME.

- ``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

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

49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
TODO FIXME Heading title
~~~~~~~~~~~~~~~~~~~~~~~~

-  GHCi now supports two new commands. :ghci-cmd:`:type` ``+d`` performs
   defaulting on the type before reporting it to the user, and
   :ghci-cmd:`:type` ``+v`` refrains from instantiating any variables before
   reporting, which is useful in concert with :ghc-flag:`-XTypeApplications`.

   .. code-block:: none

	*X> :type +d length
	length :: [a] -> Int

	*X> :set -fprint-explicit-foralls
	*X> :type length
	length :: forall {a} {t :: * -> *}. Foldable t => t a -> Int
	*X> :type +v length
	length :: forall (t :: * -> *). Foldable t => forall a. t a -> Int