Commit d7729c75 authored by Gabor Greif's avatar Gabor Greif 💬
Browse files

An assortment of typos

parent 6c794c31
......@@ -196,7 +196,7 @@ symbols will appear in the linker symbol table.
However, note that this use of "exported" is quite different to the
export list on a Haskell module. Setting the ExportFlag on an Id does
/not/ mean that if you import the module (in Haskell source code you
/not/ mean that if you import the module (in Haskell source code) you
will see this Id. Of course, things that appear in the export list
of the source Haskell module do indeed have their ExportFlag set.
But many other things, such as dictionary functions, are kept alive
......@@ -521,7 +521,7 @@ Here `tm` is the monomorphic binding for `rhs`.
With `Strict`, we want to force `tm`, but NOT `fm` or `gm`.
Alas, `tm` isn't in scope in the `in <body>` part.
The simplest thing is to return it in the polymoprhic
The simplest thing is to return it in the polymorphic
tuple `t`, thus:
let t = /\a. letrec tm = rhs[fm,gm]
......@@ -305,7 +305,7 @@ you were defining) appears in the abe_poly field of the
abs_exports. The bindings in abs_binds are for fresh, local, Ids with
a *monomorphic* Id.
If there is a group of mutually recursive (see Note [Polymoprhic
If there is a group of mutually recursive (see Note [Polymorphic
recursion]) functions without type signatures, we get one AbsBinds
with the monomorphic versions of the bindings in abs_binds, and one
element of abe_exports for each variable bound in the mutually
......@@ -319,7 +319,7 @@ After type checking we get
, abe_mono = g :: a -> a }]
, abs_binds = { (f,g) = (\x -> x, f) }
Note [Polymoprhic recursion]
Note [Polymorphic recursion]
Rec { f x = ...(g ef)...
......@@ -348,7 +348,7 @@ up with
; AbsBinds { ...for g ... } }
This approach allows both f and to call each other
polymoprhically, even though only g has a signature.
polymorphically, even though only g has a signature.
We get an AbsBinds that encompasses multiple source-program
bindings only when
......@@ -798,7 +798,7 @@ hscFileFrontEnd mod_summary = do
-- Note [Safe Haskell Inference]
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Safe Haskell does Safe inference on modules that don't have any specific
-- safe haskell mode flag. The basic aproach to this is:
-- safe haskell mode flag. The basic approach to this is:
-- * When deciding if we need to do a Safe language check, treat
-- an unmarked module as having -XSafe mode specified.
-- * For checks, don't throw errors but return them to the caller.
......@@ -1142,7 +1142,7 @@ data TcIdSigInfo
data TcIdSigBndr -- See Note [Complete and partial type signatures]
= CompleteSig -- A complete signature with no wildards,
-- so the complete polymorphic type is known.
TcId -- The polymoprhic Id with that type
TcId -- The polymorphic Id with that type
| PartialSig -- A partial type signature (i.e. includes one or more
-- wildcards). In this case it doesn't make sense to give
......@@ -299,7 +299,7 @@ putEnv keyvalue = do
-- IMPORTANT: Do not free `s` after calling putenv!
-- According to SUSv2, the string passed to putenv becomes part of the
-- enviroment.
-- environment.
throwErrnoIf_ (/= 0) "putenv" (c_putenv s)
foreign import ccall unsafe "putenv" c_putenv :: CString -> IO CInt
......@@ -19,7 +19,7 @@ geq :: Data a => a -> a -> Bool
geq x y = geq' x y
-- This type signature no longer works, because it is
-- insufficiently polymoprhic.
-- insufficiently polymorphic.
-- geq' :: forall a b. (Data a, Data b) => a -> b -> Bool
geq' :: GenericQ (GenericQ Bool)
geq' x y = (toConstr x == toConstr y)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment