summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/opt-coercion/prooftree.sty2
-rw-r--r--docs/users_guide/eventlog-formats.rst2
-rw-r--r--docs/users_guide/exts/ambiguous_types.rst4
-rw-r--r--docs/users_guide/exts/explicit_forall.rst2
-rw-r--r--docs/users_guide/exts/ffi.rst2
-rw-r--r--docs/users_guide/exts/poly_kinds.rst10
-rw-r--r--docs/users_guide/exts/quantified_constraints.rst10
-rw-r--r--docs/users_guide/runtime_control.rst2
-rw-r--r--docs/users_guide/separate_compilation.rst2
9 files changed, 18 insertions, 18 deletions
diff --git a/docs/opt-coercion/prooftree.sty b/docs/opt-coercion/prooftree.sty
index b5e6076531..08903c9a4a 100644
--- a/docs/opt-coercion/prooftree.sty
+++ b/docs/opt-coercion/prooftree.sty
@@ -40,7 +40,7 @@
%% \end{prootree} at the outer level (however this will not work for the inner
%% levels, but in any case why would you want to be so verbose?).
%%
-%% All of of the keywords except \prooftree and \endprooftree are optional
+%% All of the keywords except \prooftree and \endprooftree are optional
%% and may appear in any order. They may also be combined in \newcommand's
%% eg "\def\Cut{\using\sf cut\thickness.08em\justifies}" with the abbreviation
%% "\prooftree hyp1 hyp2 \Cut \concl \endprooftree". This is recommended and
diff --git a/docs/users_guide/eventlog-formats.rst b/docs/users_guide/eventlog-formats.rst
index f21d45fb6b..9be662d058 100644
--- a/docs/users_guide/eventlog-formats.rst
+++ b/docs/users_guide/eventlog-formats.rst
@@ -194,7 +194,7 @@ Thread and scheduling events
:field ThreadId: thread id
:field CapNo: other capability
- The indicated thread has been been woken up on another capability.
+ The indicated thread has been woken up on another capability.
.. event-type:: THREAD_LABEL
diff --git a/docs/users_guide/exts/ambiguous_types.rst b/docs/users_guide/exts/ambiguous_types.rst
index 4d44f153a7..265b0e5062 100644
--- a/docs/users_guide/exts/ambiguous_types.rst
+++ b/docs/users_guide/exts/ambiguous_types.rst
@@ -13,7 +13,7 @@ Ambiguous types and the ambiguity check
an unusable binding.
Each user-written type signature is subjected to an *ambiguity check*.
-The ambiguity check rejects functions that can never be called; for
+The ambiguity check rejects functions that can never be called. For
example: ::
f :: C a => Int
@@ -80,7 +80,7 @@ typecheck. We use a very similar test for *inferred* types, to ensure
that they too are unambiguous.
*Switching off the ambiguity check.* Even if a function has an
-ambiguous type according the "guiding principle", it is possible that
+ambiguous type according to the "guiding principle", it is possible that
the function is callable. For example: ::
class D a b where ...
diff --git a/docs/users_guide/exts/explicit_forall.rst b/docs/users_guide/exts/explicit_forall.rst
index 8287e510dc..372861d2a7 100644
--- a/docs/users_guide/exts/explicit_forall.rst
+++ b/docs/users_guide/exts/explicit_forall.rst
@@ -32,7 +32,7 @@ in :ref:`data-instance-declarations`, :ref:`type-instance-declarations`,
Notes:
-- As well in type signatures, you can also use an explicit ``forall``
+- As well as in type signatures, you can also use an explicit ``forall``
in an instance declaration: ::
instance forall a. Eq a => Eq [a] where ...
diff --git a/docs/users_guide/exts/ffi.rst b/docs/users_guide/exts/ffi.rst
index e2937f1ae6..76e8bdb97e 100644
--- a/docs/users_guide/exts/ffi.rst
+++ b/docs/users_guide/exts/ffi.rst
@@ -341,7 +341,7 @@ for non-``-threaded``, see https://gitlab.haskell.org/ghc/ghc/issues/8684),
and implement the ``EINTR``-retrying in Haskell
(e.g. using e.g. :base-ref:`Foreign.C.Error.throwErrnoIfMinus1Retry`).
-Be especially careful when using ``interruptible`` to check that that
+Be especially careful when using ``interruptible`` to check that
the called foreign function is prepared to deal with the consequences
of the call being interrupted.
On Unix it is considered good practice to always check for ``EINTR`` after
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.
diff --git a/docs/users_guide/exts/quantified_constraints.rst b/docs/users_guide/exts/quantified_constraints.rst
index 717da9eda6..769570fea2 100644
--- a/docs/users_guide/exts/quantified_constraints.rst
+++ b/docs/users_guide/exts/quantified_constraints.rst
@@ -95,7 +95,7 @@ Syntax changes
class ::= qtycls tyvar
| qtycls (tyvar atype1 ... atypen)
-We to extend ``class`` (warning: this is a rather confusingly named non-terminal symbol) with two extra forms, namely precisely what can appear in an instance declaration
+We extend ``class`` (warning: this is a rather confusingly named non-terminal symbol) with two extra forms, namely precisely what can appear in an instance declaration
.. code-block:: none
@@ -108,13 +108,13 @@ The ``context =>`` part is optional. That is the only syntactic change to the l
Notes:
-- Where GHC allows extensions instance declarations we allow exactly the same extensions to this new form of ``class``. Specifically, with :extension:`ExplicitForAll` and :extension:`MultiParamTypeClasses` the syntax becomes
+- Where GHC allows extensions in instance declarations we allow exactly the same extensions to this new form of ``class``. Specifically, with :extension:`ExplicitForAll` and :extension:`MultiParamTypeClasses` the syntax becomes
.. code-block:: none
class ::= ...
- | [forall tyavrs .] [context =>] qtycls inst1 ... instn
- | [forall tyavrs .] [context =>] tyvar inst1 ... instn
+ | [forall tyvars .] [context =>] qtycls inst1 ... instn
+ | [forall tyvars .] [context =>] tyvar inst1 ... instn
Note that an explicit ``forall`` is often absolutely essential. Consider the rose-tree example ::
@@ -222,7 +222,7 @@ trying to solve a class constraint ``C t``
1. First see if there is a given un-quantified constraint ``C t``. If so, use it to solve the constraint.
-2. If not, look at all the available given quantified constraints; if exactly one one matches ``C t``, choose it; if more than one matches, report an error.
+2. If not, look at all the available given quantified constraints; if exactly one matches ``C t``, choose it; if more than one matches, report an error.
3. If no quantified constraints match, look up in the global instances, as described in :ref:`instance-resolution` and :ref:`instance-overlap`.
diff --git a/docs/users_guide/runtime_control.rst b/docs/users_guide/runtime_control.rst
index 931710d06f..2ab493b71a 100644
--- a/docs/users_guide/runtime_control.rst
+++ b/docs/users_guide/runtime_control.rst
@@ -85,7 +85,7 @@ As always, for RTS options that take ⟨size⟩s: If the last character of
or G, by 1,000,000,000. (And any wraparound in the counters is *your*
fault!)
-Giving a ``+RTS -?`` RTS option option will print out the RTS
+Giving a ``+RTS -?`` RTS option will print out the RTS
options actually available in your program (which vary, depending on how
you compiled).
diff --git a/docs/users_guide/separate_compilation.rst b/docs/users_guide/separate_compilation.rst
index c43ec85768..b95a4d24f6 100644
--- a/docs/users_guide/separate_compilation.rst
+++ b/docs/users_guide/separate_compilation.rst
@@ -497,7 +497,7 @@ Redirecting temporary files
If you have trouble because of running out of space in ``/tmp`` (or
wherever your installation thinks temporary files should go), you
- may use the :ghc-flag:`-tmpdir ⟨dir⟩` option option to specify an
+ may use the :ghc-flag:`-tmpdir ⟨dir⟩` option to specify an
alternate directory. For example, ``-tmpdir .`` says to put temporary files
in the current working directory.