A bunch of typofixes
authorGabor Greif <ggreif@gmail.com>
Mon, 25 Sep 2017 10:31:12 +0000 (12:31 +0200)
committerGabor Greif <ggreif@gmail.com>
Tue, 26 Sep 2017 09:13:14 +0000 (11:13 +0200)
54 files changed:
compiler/basicTypes/Id.hs
compiler/cmm/CmmContFlowOpt.hs
compiler/coreSyn/CoreSyn.hs
compiler/coreSyn/CoreUnfold.hs
compiler/deSugar/DsCCall.hs
compiler/ghci/GHCi.hs
compiler/hsSyn/HsBinds.hs
compiler/iface/IfaceSyn.hs
compiler/llvmGen/Llvm/AbsSyn.hs
compiler/main/InteractiveEval.hs
compiler/main/Packages.hs
compiler/main/TidyPgm.hs
compiler/nativeGen/PPC/CodeGen.hs
compiler/nativeGen/SPARC/CodeGen.hs
compiler/nativeGen/X86/CodeGen.hs
compiler/rename/RnExpr.hs
compiler/simplCore/SimplUtils.hs
compiler/simplCore/Simplify.hs
compiler/simplStg/StgCse.hs
compiler/stranal/WorkWrap.hs
compiler/typecheck/FunDeps.hs
compiler/typecheck/TcDeriv.hs
compiler/typecheck/TcEnv.hs
compiler/typecheck/TcInstDcls.hs
compiler/typecheck/TcRnTypes.hs
compiler/typecheck/TcSMonad.hs
compiler/typecheck/TcTyClsDecls.hs
compiler/typecheck/TcValidity.hs
compiler/types/TyCon.hs
compiler/types/Unify.hs
compiler/utils/EnumSet.hs
compiler/utils/Panic.hs
docs/ghci/ghci.tex
docs/users_guide/glasgow_exts.rst
docs/users_guide/safe_haskell.rst
docs/users_guide/separate_compilation.rst
libraries/base/Data/Bits.hs
libraries/base/Data/Data.hs
libraries/base/GHC/Event/PSQ.hs
libraries/base/GHC/Show.hs
libraries/base/cbits/primFloat.c
libraries/integer-simple/GHC/Integer.hs
libraries/integer-simple/GHC/Integer/Simple/Internals.hs
libraries/integer-simple/GHC/Integer/Type.hs
libraries/integer-simple/integer-simple.cabal
rts/Capability.c
rts/PrimOps.cmm
rts/Threads.c
rts/sm/Storage.c
testsuite/tests/concurrent/should_run/conc065.hs
testsuite/tests/dph/nbody/Generate.hs
testsuite/tests/dph/quickhull/TestData.hs
testsuite/tests/programs/maessen-hashtab/Data/HashTab.hs
testsuite/tests/typecheck/should_compile/T12734a.hs

index 7da61f8..e1902ff 100644 (file)
@@ -203,7 +203,7 @@ setIdNotExported :: Id -> Id
 setIdNotExported = Var.setIdNotExported
 
 localiseId :: Id -> Id
--- Make an with the same unique and type as the
+-- Make an Id with the same unique and type as the
 -- incoming Id, but with an *Internal* Name and *LocalId* flavour
 localiseId id
   | ASSERT( isId id ) isLocalId id && isInternalName name
index 7e1689f..5f34a91 100644 (file)
@@ -55,7 +55,7 @@ import Control.Monad
 --
 -- This optimisation does three things:
 --
---   - If a block finishes in an unconditonal branch to another block
+--   - If a block finishes in an unconditional branch to another block
 --     and that is the only jump to that block we concatenate the
 --     destination block at the end of the current one.
 --
index 6bbcda9..9333d0f 100644 (file)
@@ -346,7 +346,7 @@ In particular, scrutinee variables `x` in expressions of the form
 "wild_". These "wild" variables may appear in the body of the
 case-expression, and further, may be shadowed within the body.
 
-So the Unique in an Var is not really unique at all.  Still, it's very
+So the Unique in a Var is not really unique at all.  Still, it's very
 useful to give a constant-time equality/ordering for Vars, and to give
 a key that can be used to make sets of Vars (VarSet), or mappings from
 Vars to other things (VarEnv).   Moreover, if you do want to eliminate
index fd5a233..c459fd2 100644 (file)
@@ -945,7 +945,7 @@ In a function application (f a b)
 Code for manipulating sizes
 -}
 
--- | The size of an candidate expression for unfolding
+-- | The size of a candidate expression for unfolding
 data ExprSize
     = TooBig
     | SizeIs { _es_size_is  :: {-# UNPACK #-} !Int -- ^ Size found
index 64ab9df..7a634ac 100644 (file)
@@ -204,7 +204,7 @@ boxResult :: Type
 
 -- Takes the result of the user-level ccall:
 --      either (IO t),
---      or maybe just t for an side-effect-free call
+--      or maybe just t for a side-effect-free call
 -- Returns a wrapper for the primitive ccall itself, along with the
 -- type of the result of the primitive ccall.  This result type
 -- will be of the form
index c9d8fe3..472f085 100644 (file)
@@ -560,7 +560,7 @@ We have the following ways to reference things in GHCi:
 HValue
 ------
 
-HValue is a direct reference to an value in the local heap.  Obviously
+HValue is a direct reference to a value in the local heap.  Obviously
 we cannot use this to refer to things in the external process.
 
 
index 6648cda..0dc5dd0 100644 (file)
@@ -975,7 +975,7 @@ data TcSpecPrag
         Id
         HsWrapper
         InlinePragma
-  -- ^ The Id to be specialised, an wrapper that specialises the
+  -- ^ The Id to be specialised, a wrapper that specialises the
   -- polymorphic function, and inlining spec for the specialised function
   deriving Data
 
index 191ebbf..c047343 100644 (file)
@@ -87,7 +87,7 @@ infixl 3 &&&
 -- | A binding top-level 'Name' in an interface file (e.g. the name of an
 -- 'IfaceDecl').
 type IfaceTopBndr = Name
-  -- It's convenient to have an Name in the IfaceSyn, although in each
+  -- It's convenient to have a Name in the IfaceSyn, although in each
   -- case the namespace is implied by the context. However, having an
   -- Name makes things like ifaceDeclImplicitBndrs and ifaceDeclFingerprints
   -- very convenient. Moreover, having the key of the binder means that
index a748ac5..a89ee35 100644 (file)
@@ -108,7 +108,7 @@ data LlvmAtomicOp
 -- | Llvm Statements
 data LlvmStatement
   {- |
-    Assign an expression to an variable:
+    Assign an expression to a variable:
       * dest:   Variable to assign to
       * source: Source expression
   -}
@@ -260,7 +260,7 @@ data LlvmExpression
   | ALoad LlvmSyncOrdering SingleThreaded LlvmVar
 
   {- |
-    Navigate in an structure, selecting elements
+    Navigate in a structure, selecting elements
       * inbound: Is the pointer inbounds? (computed pointer doesn't overflow)
       * ptr:     Location of the structure
       * indexes: A list of indexes to select the correct value.
index c6b5e22..e63d6e3 100644 (file)
@@ -840,7 +840,7 @@ typeKind normalise str = withSession $ \hsc_env -> do
    liftIO $ hscKcType hsc_env normalise str
 
 -----------------------------------------------------------------------------
--- Compile an expression, run it and deliver the result
+-- Compile an expression, run it, and deliver the result
 
 -- | Parse an expression, the parsed expression can be further processed and
 -- passed to compileParsedExpr.
@@ -848,19 +848,19 @@ parseExpr :: GhcMonad m => String -> m (LHsExpr GhcPs)
 parseExpr expr = withSession $ \hsc_env -> do
   liftIO $ runInteractiveHsc hsc_env $ hscParseExpr expr
 
--- | Compile an expression, run it and deliver the resulting HValue.
+-- | Compile an expression, run it, and deliver the resulting HValue.
 compileExpr :: GhcMonad m => String -> m HValue
 compileExpr expr = do
   parsed_expr <- parseExpr expr
   compileParsedExpr parsed_expr
 
--- | Compile an expression, run it and deliver the resulting HValue.
+-- | Compile an expression, run it, and deliver the resulting HValue.
 compileExprRemote :: GhcMonad m => String -> m ForeignHValue
 compileExprRemote expr = do
   parsed_expr <- parseExpr expr
   compileParsedExprRemote parsed_expr
 
--- | Compile an parsed expression (before renaming), run it and deliver
+-- | Compile a parsed expression (before renaming), run it, and deliver
 -- the resulting HValue.
 compileParsedExprRemote :: GhcMonad m => LHsExpr GhcPs -> m ForeignHValue
 compileParsedExprRemote expr@(L loc _) = withSession $ \hsc_env -> do
index 46ca406..172e181 100644 (file)
@@ -124,7 +124,7 @@ import Data.Version
 --     Let @depExposedPackages@ be the transitive closure from @exposedPackages@ of
 --     their dependencies.
 --
---   * When searching for a module from an preload import declaration,
+--   * When searching for a module from a preload import declaration,
 --     only the exposed modules in @exposedPackages@ are valid.
 --
 --   * When searching for a module from an implicit import, all modules
index a0d2fb8..fd53391 100644 (file)
@@ -202,7 +202,7 @@ mkBootTypeEnv exports ids tcs fam_insts
 
 
 globaliseAndTidyId :: Id -> Id
--- Takes an LocalId with an External Name,
+-- Takes a LocalId with an External Name,
 -- makes it into a GlobalId
 --     * unchanged Name (might be Internal or External)
 --     * unchanged details
index 299238b..d897038 100644 (file)
@@ -720,7 +720,7 @@ data Amode
         = Amode AddrMode InstrBlock
 
 {-
-Now, given a tree (the argument to an CmmLoad) that references memory,
+Now, given a tree (the argument to a CmmLoad) that references memory,
 produce a suitable addressing mode.
 
 A Rule of the Game (tm) for Amodes: use of the addr bit must
index 1a7fbeb..04ac757 100644 (file)
@@ -163,7 +163,7 @@ stmtToInstrs stmt = do
 
 
 {-
-Now, given a tree (the argument to an CmmLoad) that references memory,
+Now, given a tree (the argument to a CmmLoad) that references memory,
 produce a suitable addressing mode.
 
 A Rule of the Game (tm) for Amodes: use of the addr bit must
index e62906d..029b8e8 100644 (file)
@@ -294,7 +294,7 @@ data Amode
         = Amode AddrMode InstrBlock
 
 {-
-Now, given a tree (the argument to an CmmLoad) that references memory,
+Now, given a tree (the argument to a CmmLoad) that references memory,
 produce a suitable addressing mode.
 
 A Rule of the Game (tm) for Amodes: use of the addr bit must
index c0d9898..b23762a 100644 (file)
@@ -2005,7 +2005,7 @@ okStmt, okDoStmt, okCompStmt, okParStmt, okPArrStmt
    :: DynFlags -> HsStmtContext Name
    -> Stmt GhcPs (Located (body GhcPs)) -> Validity
 -- Return Nothing if OK, (Just extra) if not ok
--- The "extra" is an SDoc that is appended to an generic error message
+-- The "extra" is an SDoc that is appended to a generic error message
 
 okStmt dflags ctxt stmt
   = case ctxt of
index bf09f72..ebdda8f 100644 (file)
@@ -865,7 +865,7 @@ f when it is inlined.  So our conservative plan (implemented by
 updModeForStableUnfoldings) is this:
 
   -------------------------------------------------------------
-  When simplifying the RHS of an stable unfolding, set the phase
+  When simplifying the RHS of a stable unfolding, set the phase
   to the phase in which the stable unfolding first becomes active
   -------------------------------------------------------------
 
@@ -1304,7 +1304,7 @@ ones that are trivial):
 
 Note [Stable unfoldings and postInlineUnconditionally]
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Do not do postInlineUnconditionally if the Id has an stable unfolding,
+Do not do postInlineUnconditionally if the Id has a stable unfolding,
 otherwise we lose the unfolding.  Example
 
      -- f has stable unfolding with rhs (e |> co)
index c73f0f6..5e596a3 100644 (file)
@@ -3068,7 +3068,7 @@ and c is unused.
 Note [Duplicated env]
 ~~~~~~~~~~~~~~~~~~~~~
 Some of the alternatives are simplified, but have not been turned into a join point
-So they *must* have an zapped subst-env.  So we can't use completeNonRecX to
+So they *must* have a zapped subst-env.  So we can't use completeNonRecX to
 bind the join point, because it might to do PostInlineUnconditionally, and
 we'd lose that when zapping the subst-env.  We could have a per-alt subst-env,
 but zapping it (as we do in mkDupableCont, the Select case) is safe, and
@@ -3329,7 +3329,7 @@ Note [Setting the new unfolding]
   important: if exprIsConApp says 'yes' for a recursive thing, then we
   can get into an infinite loop
 
-If there's an stable unfolding on a loop breaker (which happens for
+If there's a stable unfolding on a loop breaker (which happens for
 INLINABLE), we hang on to the inlining.  It's pretty dodgy, but the
 user did say 'INLINE'.  May need to revisit this choice.
 
index a35309c..6e89617 100644 (file)
@@ -364,7 +364,7 @@ stgCsePairs env0 ((b,e):pairs)
     mbCons = maybe id (:)
 
 -- The RHS of a binding.
--- If it is an constructor application, either short-cut it or extend the environment
+-- If it is a constructor application, either short-cut it or extend the environment
 stgCseRhs :: CseEnv -> OutId -> InStgRhs -> (Maybe (OutId, OutStgRhs), CseEnv)
 stgCseRhs env bndr (StgRhsCon ccs dataCon args)
     | Just other_bndr <- envLookup dataCon args' env
index 252f18b..28b0df3 100644 (file)
@@ -232,7 +232,7 @@ has no wrapper, the worker for g will rebox p. So we get
 
   g x y p = case p of (I# p#) -> $wg x y p#
 
-Now, in this case the reboxing will float into the True branch, an so
+Now, in this case the reboxing will float into the True branch, and so
 the allocation will only happen on the error path. But it won't float
 inwards if there are multiple branches that call (f p), so the reboxing
 will happen on every call of g. Disaster.
index e4936a9..c8f0b1d 100644 (file)
@@ -239,7 +239,7 @@ improveClsFD clas_tvs fd
 --         for fundep (x,y -> p,q)  from class  (C x p y q)
 -- If (sx,sy) unifies with (tx,ty), take the subst S
 
--- 'qtvs' are the quantified type variables, the ones which an be instantiated
+-- 'qtvs' are the quantified type variables, the ones which can be instantiated
 -- to make the types match.  For example, given
 --      class C a b | a->b where ...
 --      instance C (Maybe x) (Tree x) where ..
@@ -645,7 +645,7 @@ checkFunDeps inst_envs (ClsInst { is_tvs = qtvs1, is_cls = cls
                    | otherwise                = Skolem
 
     eq_inst i1 i2 = instanceDFunId i1 == instanceDFunId i2
-        -- An single instance may appear twice in the un-nubbed conflict list
+        -- A single instance may appear twice in the un-nubbed conflict list
         -- because it may conflict with more than one fundep.  E.g.
         --      class C a b c | a -> b, a -> c
         --      instance C Int Bool Bool
index 155aee8..77a313b 100644 (file)
@@ -867,7 +867,7 @@ kind parameters. Consider this code (also from Trac #11732):
 
     newtype Fun a b = Fun (a -> b) deriving (Cat k)
 
-Even though we requested an derived instance of the form (Cat k Fun), the
+Even though we requested a derived instance of the form (Cat k Fun), the
 kind unification will actually generate (Cat * Fun) (i.e., the same thing as if
 the user wrote deriving (Cat *)).
 
index e8ddd07..21b895e 100644 (file)
@@ -829,7 +829,7 @@ default the 'a' to (), rather than to Integer (which is what would otherwise hap
 and then GHCi doesn't attempt to print the ().  So in interactive mode, we add
 () to the list of defaulting types.  See Trac #1200.
 
-Additonally, the list type [] is added as a default specialization for
+Additionally, the list type [] is added as a default specialization for
 Traversable and Foldable. As such the default default list now has types of
 varying kinds, e.g. ([] :: * -> *)  and (Integer :: *).
 
index dc74161..4c992e1 100644 (file)
@@ -1196,7 +1196,7 @@ Answer:
 
   * When we make a superclass selection from InstSkol we use
     a SkolemInfo of (InstSC size), where 'size' is the size of
-    the constraint whose superclass we are taking.  An similarly
+    the constraint whose superclass we are taking.  A similarly
     when taking the superclass of an InstSC.  This is implemented
     in TcCanonical.newSCWorkFromFlavored
 
index c581a88..21765a6 100644 (file)
@@ -13,7 +13,7 @@ around. This is done to allow the environment to be manipulated in a stack
 like fashion when entering expressions... ect.
 
 For state that is global and should be returned at the end (e.g not part
-of the stack mechanism), you should use an TcRef (= IORef) to store them.
+of the stack mechanism), you should use a TcRef (= IORef) to store them.
 -}
 
 {-# LANGUAGE CPP, ExistentialQuantification, GeneralizedNewtypeDeriving,
@@ -2902,7 +2902,7 @@ level.
 equalities involving type functions. Example:
   Assume we have a wanted at depth 7:
     [W] d{7} : F () ~ a
-  If there is an type function equation "F () = Int", this would be rewritten to
+  If there is a type function equation "F () = Int", this would be rewritten to
     [W] d{8} : Int ~ a
   and remembered as having depth 8.
 
index 8cfb88c..bcd26bb 100644 (file)
@@ -1029,7 +1029,7 @@ The same idea is sometimes also called "saturation"; find all the
 equalities that must hold in any solution.
 
 Or, equivalently, you can think of the derived shadows as implementing
-the "model": an non-idempotent but no-occurs-check substitution,
+the "model": a non-idempotent but no-occurs-check substitution,
 reflecting *all* *Nominal* equalities (a ~N ty) that are not
 immediately soluble by unification.
 
index b479412..f2b60de 100644 (file)
@@ -1010,7 +1010,7 @@ tcDataDefn roles_info
        ; return tycon }
   where
     -- In hs-boot, a 'data' declaration with no constructors
-    -- indicates an nominally distinct abstract data type.
+    -- indicates a nominally distinct abstract data type.
     mk_tc_rhs HsBootFile _ []
       = return AbstractTyCon
 
index 5c5ed7f..712f9ad 100644 (file)
@@ -151,7 +151,7 @@ The nested forall is ambiguous.  Originally we called checkAmbiguity
 in the forall case of check_type, but that had two bad consequences:
   * We got two error messages about (Eq b) in a nested forall like this:
        g :: forall a. Eq a => forall b. Eq b => a -> a
-  * If we try to check for ambiguity of an nested forall like
+  * If we try to check for ambiguity of a nested forall like
     (forall a. Eq a => b), the implication constraint doesn't bind
     all the skolems, which results in "No skolem info" in error
     messages (see Trac #10432).
index 9147c1f..39d2e9b 100644 (file)
@@ -1666,7 +1666,7 @@ isAbstractTyCon :: TyCon -> Bool
 isAbstractTyCon (AlgTyCon { algTcRhs = AbstractTyCon }) = True
 isAbstractTyCon _ = False
 
--- | Make an fake, recovery 'TyCon' from an existing one.
+-- | Make a fake, recovery 'TyCon' from an existing one.
 -- Used when recovering from errors
 makeRecoveryTyCon :: TyCon -> TyCon
 makeRecoveryTyCon tc
index 5fba83f..457d012 100644 (file)
@@ -394,7 +394,7 @@ tcUnifyTyKis bind_fn tys1 tys2
 type UnifyResult = UnifyResultM TCvSubst
 data UnifyResultM a = Unifiable a        -- the subst that unifies the types
                     | MaybeApart a       -- the subst has as much as we know
-                                         -- it must be part of an most general unifier
+                                         -- it must be part of a most general unifier
                                          -- See Note [The substitution in MaybeApart]
                     | SurelyApart
                     deriving Functor
@@ -711,7 +711,7 @@ Consider this:
    type instance Foo MkG = False
 
 We would like that to be accepted. For that to work, we need to introduce
-a coercion variable on the left an then use it on the right. Accordingly,
+a coercion variable on the left and then use it on the right. Accordingly,
 at use sites of Foo, we need to be able to use matching to figure out the
 value for the coercion. (See the desugared version:
 
index 99b93f5..670a5c6 100644 (file)
@@ -1,4 +1,4 @@
--- | An tiny wrapper around 'IntSet.IntSet' for representing sets of 'Enum'
+-- | A tiny wrapper around 'IntSet.IntSet' for representing sets of 'Enum'
 -- things.
 module EnumSet
     ( EnumSet
index 910906e..ebf8303 100644 (file)
@@ -196,7 +196,7 @@ sorryDoc    x doc = throwGhcException (PprSorry        x doc)
 pgmErrorDoc x doc = throwGhcException (PprProgramError x doc)
 
 
--- | Throw an failed assertion exception for a given filename and line number.
+-- | Throw a failed assertion exception for a given filename and line number.
 assertPanic :: String -> Int -> a
 assertPanic file line =
   Exception.throw (Exception.AssertionFailed
index c4638a6..e4fbb0b 100644 (file)
@@ -458,9 +458,9 @@ date.  There are three parts to it:
    \item
       {\bf Package Symbol Table (PST)} @:: FiniteMap Module ModDetails@
 
-   Adding an package interface to PIT doesn't make it directly usable
+   Adding a package interface to PIT doesn't make it directly usable
    to @compile@, because it first needs to be wired (renamed +
-   typechecked) into the sphagetti of the HST.  On the other hand,
+   typechecked) into the spaghetti of the HST.  On the other hand,
    most modules only use a few entities from any imported interface,
    so wiring-in the interface at PIT-entry time might be a big time
    waster.  Also, wiring in an interface could mean reading other
@@ -886,14 +886,14 @@ trees in the GHCI heap.  References from other modules to these
 entities is direct -- when you have a @TyCon@ in your hand, you really
 have a pointer directly to the @TyCon@ structure in the defining module,
 rather than some kind of index into a global symbol table.  So there
-is a global symbol table, but it has a distributed (sphagetti-like?)
+is a global symbol table, but it has a distributed (spaghetti-like?)
 nature.
 
 This gives fast and convenient access to tycon, class, instance,
 etc, information.  But because there are no levels of indirection,
 there's a problem when we replace @M@ with an updated version of @M@.
 We then need to find all references to entities in the old @M@'s
-sphagetti, and replace them with pointers to the new @M@'s sphagetti.
+spaghetti, and replace them with pointers to the new @M@'s spaghetti.
 This problem motivates a large part of the design.
 
 
index edfee6c..9402885 100644 (file)
@@ -8868,7 +8868,7 @@ you must ``import Data.Kind`` to get ``*`` (but only with :ghc-flag:`-XTypeInTyp
 enabled).
 
 The only way ``*`` is unordinary is in its parsing. In order to be backward
-compatible, ``*`` is parsed as if it were an alphanumeric idenfifier; note
+compatible, ``*`` is parsed as if it were an alphanumeric identifier; note
 that we do not write ``Int :: (*)`` but just plain ``Int :: *``. Due to the
 bizarreness with which ``*`` is parsed--and the fact that it is the only such
 operator in GHC--there are some corner cases that are
@@ -12189,7 +12189,7 @@ A simple example of the new notation is the expression ::
 We call this a procedure or arrow abstraction. As with a lambda
 expression, the variable ``x`` is a new variable bound within the
 ``proc``-expression. It refers to the input to the arrow. In the above
-example, ``-<`` is not an identifier but an new reserved symbol used for
+example, ``-<`` is not an identifier but a new reserved symbol used for
 building commands from an expression of arrow type and an expression to
 be fed as input to that arrow. (The weird look will make more sense
 later.) It may be read as analogue of application for arrows. The above
index 7be442e..6b32826 100644 (file)
@@ -358,7 +358,7 @@ imported module ``N`` changing the behaviour of existing code. For example,
 if the second condition isn't violated, then the module author ``M`` must
 depend either on a type-class or type defined in ``N``.
 
-When an particular type-class method call is considered unsafe due to
+When a particular type-class method call is considered unsafe due to
 overlapping instances, and the module being compiled is using :ghc-flag:`-XSafe`
 or :ghc-flag:`-XTrustworthy`, then compilation will fail. For :ghc-flag:`-XUnsafe`, no
 restriction is applied, and for modules using safe inference, they will
index 29ee7bb..0de5eb5 100644 (file)
@@ -650,7 +650,7 @@ There are several points to note here:
 
 -  Just as compiling ``A.hs`` produces an interface file ``A.hi``, and
    an object file ``A.o``, so compiling ``A.hs-boot`` produces an
-   interface file ``A.hi-boot``, and an pseudo-object file ``A.o-boot``:
+   interface file ``A.hi-boot``, and a pseudo-object file ``A.o-boot``:
 
    -  The pseudo-object file ``A.o-boot`` is empty (don't link it!), but
       it is very useful when using a Makefile, to record when the
index da2ea3d..1fc3880 100644 (file)
@@ -241,7 +241,7 @@ class Eq a => Bits a where
     x `shiftR`  i = x `shift`  (-i)
 
     {-| Shift the first argument right by the specified number of bits, which
-        must be non-negative an smaller than the number of bits in the type.
+        must be non-negative and smaller than the number of bits in the type.
 
         Right shifts perform sign extension on signed number types;
         i.e. they fill the top bits with 1 if the @x@ is negative
index 3d257e0..e22f7cb 100644 (file)
@@ -793,7 +793,7 @@ mkRealConstr dt f = case datarep dt of
                     FloatRep -> mkPrimCon dt (show f) (FloatConstr (toRational f))
                     _ -> errorWithoutStackTrace $ "Data.Data.mkRealConstr is not supported for "
                                  ++ dataTypeName dt ++
-                                 ", as it is not an Real data type."
+                                 ", as it is not a Real data type."
 
 -- | Makes a constructor for 'Char'.
 mkCharConstr :: DataType -> Char -> Constr
index 976ffe1..07b8de6 100644 (file)
@@ -58,7 +58,7 @@ import GHC.Types (Int)
 
 {-
 -- Use macros to define strictness of functions.
--- STRICT_x_OF_y denotes an y-ary function strict in the x-th parameter.
+-- STRICT_x_OF_y denotes a y-ary function strict in the x-th parameter.
 -- We do not use BangPatterns, because they are not in any standard and we
 -- want the compilers to be compiled by as many compilers as possible.
 #define STRICT_1_OF_2(fn) fn arg _ | arg `seq` False = undefined
index 75080b3..980b4a7 100644 (file)
@@ -469,7 +469,7 @@ instance Show Integer where
         | otherwise = integerToString n r
     showList = showList__ (showsPrec 0)
 
--- Divide an conquer implementation of string conversion
+-- Divide and conquer implementation of string conversion
 integerToString :: Integer -> String -> String
 integerToString n0 cs0
     | n0 < 0    = '-' : integerToString' (- n0) cs0
index f074677..dde5d06 100644 (file)
@@ -315,7 +315,7 @@ rintFloat(HsFloat f)
         mant += 2*half;
         if (mant == FLT_POWER2)
         {
-            /* next power of 2, increase exponent an set mantissa to 0 */
+            /* next power of 2, increase exponent and set mantissa to 0 */
             u.ieee.mantissa = 0;
             u.ieee.exponent += 1;
             return u.f;
index f419b2f..a519ace 100644 (file)
@@ -11,7 +11,7 @@
 -- Stability   :  internal
 -- Portability :  non-portable (GHC Extensions)
 --
--- An simple definition of the 'Integer' type.
+-- A simple definition of the 'Integer' type.
 --
 -----------------------------------------------------------------------------
 
index 64d0d6f..50733d4 100644 (file)
@@ -11,7 +11,7 @@
 -- Stability   :  internal
 -- Portability :  non-portable (GHC Extensions)
 --
--- An simple definition of the 'Integer' type.
+-- A simple definition of the 'Integer' type.
 --
 -----------------------------------------------------------------------------
 
index 31f852b..cabdfe5 100644 (file)
@@ -18,7 +18,7 @@
 -- Stability   :  internal
 -- Portability :  non-portable (GHC Extensions)
 --
--- An simple definition of the 'Integer' type.
+-- A simple definition of the 'Integer' type.
 --
 -----------------------------------------------------------------------------
 
index 0c05ad7..231619c 100644 (file)
@@ -6,7 +6,7 @@ license-file:   LICENSE
 maintainer:     igloo@earth.li
 synopsis:       Simple Integer library
 description:
-    This package contains an simple Integer library.
+    This package contains a simple Integer library.
 cabal-version:  >=1.10
 build-type: Simple
 
index 1023be8..0fcb0c9 100644 (file)
@@ -10,7 +10,7 @@
  * STG execution, a pointer to the capabilitity is kept in a
  * register (BaseReg; actually it is a pointer to cap->r).
  *
- * Only in an THREADED_RTS build will there be multiple capabilities,
+ * Only in a THREADED_RTS build will there be multiple capabilities,
  * for non-threaded builds there is only one global capability, namely
  * MainCapability.
  *
index 6047b49..4d54ecf 100644 (file)
@@ -1742,7 +1742,7 @@ loop:
 
     ccall tryWakeupThread(MyCapability() "ptr", tso);
 
-    // If it was an readMVar, then we can still do work,
+    // If it was a readMVar, then we can still do work,
     // so loop back. (XXX: This could take a while)
     if (why_blocked == BlockedOnMVarRead) {
         q = StgMVarTSOQueue_link(q);
@@ -1823,7 +1823,7 @@ loop:
 
     ccall tryWakeupThread(MyCapability() "ptr", tso);
 
-    // If it was an readMVar, then we can still do work,
+    // If it was a readMVar, then we can still do work,
     // so loop back. (XXX: This could take a while)
     if (why_blocked == BlockedOnMVarRead) {
         q = StgMVarTSOQueue_link(q);
index c875511..836cdd6 100644 (file)
@@ -808,7 +808,7 @@ loop:
 
     tryWakeupThread(cap, tso);
 
-    // If it was an readMVar, then we can still do work,
+    // If it was a readMVar, then we can still do work,
     // so loop back. (XXX: This could take a while)
     if (why_blocked == BlockedOnMVarRead) {
         q = ((StgMVarTSOQueue*)q)->link;
index ffaed5f..6c5a733 100644 (file)
@@ -315,7 +315,7 @@ freeStorage (bool free_heap)
 
       - pushes an update frame pointing to the CAF_BLACKHOLE
 
-   Why do we build an BLACKHOLE in the heap rather than just updating
+   Why do we build a BLACKHOLE in the heap rather than just updating
    the thunk directly?  It's so that we only need one kind of update
    frame - otherwise we'd need a static version of the update frame
    too, and various other parts of the RTS that deal with update
index 8f6c18b..7e75381 100644 (file)
@@ -4,7 +4,7 @@ import Control.Concurrent
 import Control.Exception
 
 -- This loop spends most of its time printing stuff, and very occasionally
--- pops outside 'block'.  This test ensures that an thread trying to
+-- pops outside 'block'.  This test ensures that a thread trying to
 -- throwTo this thread will eventually succeed.
 loop = mask_ (print "alive") >> loop
 
index 808ab8e..5b700dd 100644 (file)
@@ -70,7 +70,7 @@ genPointsDisc n (originX, originY) radiusMax
     in  originX `seq` originY `seq` U.zipWith makeXY radius angle
 
 
--- | A point cloud with areas of high an low density
+-- | A point cloud with areas of high and low density
 genPointsCombo 
         :: Int                  -- ^ number of points
         -> U.Array (Double, Double)
index a27cca2..938c9fe 100644 (file)
@@ -63,7 +63,7 @@ genPointsDisc n (originX, originY) radiusMax
    in   map makeXY $ zip radius angle
 
 
--- | A point cloud with areas of high an low density
+-- | A point cloud with areas of high and low density
 genPointsCombo
         :: Int                  -- ^ number of points
         -> [(Double, Double)]
index e96d5c5..85b3046 100644 (file)
@@ -171,7 +171,7 @@ new cmpr hash = do
 -- -----------------------------------------------------------------------------
 -- Inserting a key\/value pair into the hash table
 
--- | Inserts an key\/value mapping into the hash table.
+-- | Inserts a key\/value mapping into the hash table.
 --
 -- Note that 'insert' doesn't remove the old entry from the table -
 -- the behaviour is like an association list, where 'lookup' returns
index 38f7307..3add59e 100644 (file)
@@ -16,7 +16,7 @@
 
 -- This version is shorter than T12734, and should yield a
 -- type error message.  If things go wrong, you get
--- an nfinite loop
+-- an infinite loop
 
 module T12734a where