summaryrefslogtreecommitdiff
path: root/docs/users_guide/exts/poly_kinds.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/users_guide/exts/poly_kinds.rst')
-rw-r--r--docs/users_guide/exts/poly_kinds.rst10
1 files changed, 5 insertions, 5 deletions
diff --git a/docs/users_guide/exts/poly_kinds.rst b/docs/users_guide/exts/poly_kinds.rst
index 68b420034d..39bd6e6f49 100644
--- a/docs/users_guide/exts/poly_kinds.rst
+++ b/docs/users_guide/exts/poly_kinds.rst
@@ -128,7 +128,7 @@ This rule has occasionally-surprising consequences (see
type F2 a -- No right-hand side so F2 :: Type -> Type
The kind-polymorphism from the class declaration makes ``D1``
-kind-polymorphic, but not so ``D2``; and similarly ``F1``, ``F1``.
+kind-polymorphic, but not so ``D2``; and similarly ``F1``, ``F2``.
.. _inferring-variable-order:
@@ -276,7 +276,7 @@ signature" for a type constructor? These are the forms:
unless :extension:`UnliftedNewtypes` is enabled.
With :extension:`UnliftedNewtypes`, the type constructor
only has a CUSK if a kind signature is present. As with a datatype
- with a top-level ``::``, all kind variables must introduced after
+ with a top-level ``::``, all kind variables introduced after
the ``::`` must be explicitly quantified ::
{-# LANGUAGE UnliftedNewtypes #-}
@@ -613,7 +613,7 @@ right hand side of ``S``::
type S a b = <rhs> :: k -> k
The reason for this exception is that there may be no other way to bind ``k``.
-For example, suppose we wanted ``S`` to have the the following kind with an
+For example, suppose we wanted ``S`` to have the following kind with an
*invisible* parameter ``k``::
S :: forall k. Type -> Type -> k -> k
@@ -681,7 +681,7 @@ What is the kind of ``ProxyKVis``? One might say
``forall k. Type -> k -> Type``, but this isn't quite right, since this would
allow incorrect things like ``ProxyKVis Bool Int``, which should be rejected
due to the fact that ``Int`` is not of kind ``Bool``. The key observation is that
-the kind of the second argument *depend* on the first argument. GHC indicates
+the kind of the second argument *depends* on the first argument. GHC indicates
this dependency in the syntax that it gives for the kind of ``ProxyKVis``: ::
ProxyKVis :: forall k -> k -> Type
@@ -689,7 +689,7 @@ this dependency in the syntax that it gives for the kind of ``ProxyKVis``: ::
This kind is similar to the kind of ``ProxyKInvis``, but with a key difference:
the type variables quantified by the ``forall`` are followed by an arrow
(``->``), not a dot (``.``). This is a visible, dependent quantifier. It is
-visible in that it the user must pass in a type for ``k`` explicitly, and it is
+visible in that the user must pass in a type for ``k`` explicitly, and it is
dependent in the sense that ``k`` appears later in the kind of ``ProxyKVis``.
As a counterpart, the ``k`` binder in ``forall k. k -> Type`` can be thought
of as an *invisible*, dependent quantifier.