Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spelling #990

Open
wants to merge 505 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
505 commits
Select commit Hold shift + click to select a range
f7f4aa9
spelling: invariant
jsoref Jul 31, 2022
fa79843
spelling: invisible
jsoref Jul 31, 2022
55709b6
spelling: invocation
jsoref Jul 31, 2022
65fb105
spelling: involves
jsoref Jul 31, 2022
475da57
spelling: isomorphic
jsoref Jul 31, 2022
6e0cc75
spelling: just
jsoref Jul 31, 2022
67cbbd9
spelling: lambdas
jsoref Jul 31, 2022
6df9f4c
spelling: laziness
jsoref Jul 31, 2022
e4f6536
spelling: legal
jsoref Jul 31, 2022
dd15bf4
spelling: legitimate
jsoref Jul 31, 2022
857114c
spelling: legitimately
jsoref Jul 31, 2022
179072f
spelling: like
jsoref Jul 31, 2022
60fc4f5
spelling: local
jsoref Jul 31, 2022
1891495
spelling: looks
jsoref Jul 31, 2022
3ad8302
spelling: mapping
jsoref Jul 31, 2022
cf8dd30
spelling: maximises
jsoref Jul 31, 2022
45f7cd5
spelling: maximum
jsoref Jul 31, 2022
3c5b581
spelling: maybe
jsoref Jul 31, 2022
33a3e9a
spelling: meaning
jsoref Jul 31, 2022
e5e1895
spelling: member
jsoref Jul 31, 2022
83eed28
spelling: mentions
jsoref Jul 31, 2022
aee01fe
spelling: messages
jsoref Jul 31, 2022
806b510
spelling: metaprogramming
jsoref Jul 31, 2022
a2cc8cb
spelling: miscellaneous
jsoref Jul 31, 2022
80cd8d0
spelling: models
jsoref Jul 31, 2022
675bed4
spelling: modification
jsoref Jul 31, 2022
dc2e95d
spelling: module
jsoref Jul 31, 2022
5efa0f7
spelling: monomorphic
jsoref Jul 31, 2022
63ad729
spelling: multiple
jsoref Jul 31, 2022
da4798f
spelling: mycapability
jsoref Jul 31, 2022
30a972a
spelling: naively
jsoref Jul 31, 2022
79b7849
spelling: nearest
jsoref Jul 31, 2022
1fbcfc5
spelling: necessary
jsoref Jul 31, 2022
7ea6fe9
spelling: nevertheless
jsoref Jul 31, 2022
0190013
spelling: noinline
jsoref Jul 31, 2022
d4588c5
spelling: nonexistent
jsoref Jul 28, 2022
9f9f8a2
spelling: normalise
jsoref Jul 31, 2022
8c85afc
spelling: notably
jsoref Jul 31, 2022
2b1a39c
spelling: note
jsoref Jul 28, 2022
fe51a02
spelling: nothing
jsoref Jul 31, 2022
4693989
spelling: obsolete
jsoref Jul 31, 2022
6fa769c
spelling: occurred
jsoref Jul 31, 2022
dfe6544
spelling: occurrence
jsoref Jul 31, 2022
7c0ac72
spelling: occurrences
jsoref Jul 31, 2022
b42b96f
spelling: occurring
jsoref Jul 31, 2022
082a9c1
spelling: omitting
jsoref Jul 31, 2022
c18aa16
spelling: only
jsoref Jul 28, 2022
a3cee0f
spelling: operator
jsoref Jul 31, 2022
fd8fd63
spelling: opportunities
jsoref Jul 31, 2022
d2332cb
spelling: orient
jsoref Jul 31, 2022
bd6cb3f
spelling: original
jsoref Jul 31, 2022
b1ddd10
spelling: orphan
jsoref Jul 31, 2022
c2c11fb
spelling: other
jsoref Jul 31, 2022
70397d3
spelling: otherside
jsoref Jul 31, 2022
55eb446
spelling: otherwise
jsoref Jul 31, 2022
b6648e8
spelling: outputting
jsoref Jul 31, 2022
a19b64e
spelling: outside
jsoref Jul 31, 2022
0feae64
spelling: overridden
jsoref Jul 31, 2022
74d2902
spelling: overview
jsoref Jul 31, 2022
91fac9b
spelling: own
jsoref Jul 31, 2022
5625053
spelling: package
jsoref Jul 31, 2022
7d8d715
spelling: panicking
jsoref Jul 31, 2022
9005697
spelling: parameter
jsoref Jul 31, 2022
843a2fe
spelling: parameters
jsoref Jul 31, 2022
feaf176
spelling: parenthesizing
jsoref Jul 31, 2022
21efa10
spelling: particular
jsoref Jul 31, 2022
a23d112
spelling: partition
jsoref Jul 31, 2022
cdd6e42
spelling: partitioned
jsoref Jul 31, 2022
bc40c12
spelling: pathological
jsoref Jul 31, 2022
eb1d333
spelling: peculiarities
jsoref Jul 31, 2022
2f8e41c
spelling: perform
jsoref Jul 31, 2022
ad1cbc7
spelling: performance
jsoref Jul 31, 2022
7523637
spelling: perhaps
jsoref Jul 31, 2022
ecc13fc
spelling: permitting
jsoref Jul 31, 2022
01f24c7
spelling: platforms
jsoref Jul 31, 2022
281e6c5
spelling: polymorphic
jsoref Jul 31, 2022
914423f
spelling: possibilities
jsoref Jul 31, 2022
87c24d5
spelling: possibility
jsoref Jul 31, 2022
20ac321
spelling: precedence
jsoref Jul 31, 2022
95500b9
spelling: precisely
jsoref Jul 31, 2022
1b64639
spelling: precondition
jsoref Jul 31, 2022
1424e4b
spelling: predictable
jsoref Jul 31, 2022
93351d3
spelling: preempted
jsoref Jul 31, 2022
7433949
spelling: preemptively
jsoref Jul 28, 2022
7a9a9c3
spelling: preprocessing
jsoref Jul 31, 2022
d339236
spelling: presence
jsoref Jul 31, 2022
3836e89
spelling: preserve
jsoref Jul 31, 2022
314a4d2
spelling: previously
jsoref Jul 31, 2022
240702c
spelling: primitive
jsoref Jul 31, 2022
c81d68e
spelling: probabilistic
jsoref Jul 31, 2022
a1c2ac0
spelling: probabilistically
jsoref Jul 31, 2022
6b90224
spelling: process
jsoref Jul 31, 2022
8c90f5f
spelling: processing
jsoref Jul 31, 2022
14420bb
spelling: programmeer
jsoref Jul 31, 2022
f06ef5a
spelling: promoted
jsoref Jul 31, 2022
57debda
spelling: prompt
jsoref Jul 31, 2022
e8d8595
spelling: propagate
jsoref Jul 31, 2022
69952ea
spelling: propagated
jsoref Jul 31, 2022
26776e6
spelling: property
jsoref Jul 31, 2022
02b828e
spelling: qualified
jsoref Jul 31, 2022
df3e906
spelling: quantification
jsoref Jul 31, 2022
1d53f2b
spelling: quantified
jsoref Jul 31, 2022
af148ed
spelling: quantifying
jsoref Jul 31, 2022
6623639
spelling: reanalyze
jsoref Jul 31, 2022
27ec7b9
spelling: reanalyzed
jsoref Jul 31, 2022
dd95f33
spelling: rearrangement
jsoref Jul 31, 2022
25dd59b
spelling: reasonable
jsoref Jul 31, 2022
05def34
spelling: reasonably
jsoref Jul 31, 2022
57c427b
spelling: recommended
jsoref Jul 31, 2022
cd1dcbb
spelling: recompilation
jsoref Jul 31, 2022
f0cd09e
spelling: recompile
jsoref Jul 31, 2022
c51ab66
spelling: recover
jsoref Jul 31, 2022
7af2939
spelling: recursion
jsoref Jul 31, 2022
e636f24
spelling: recursive
jsoref Jul 31, 2022
1dea0ab
spelling: reference
jsoref Jul 31, 2022
254e045
spelling: references
jsoref Jul 31, 2022
3f5c378
spelling: referring
jsoref Jul 31, 2022
81a9255
spelling: regardless
jsoref Jul 31, 2022
06c4ff1
spelling: registered
jsoref Jul 31, 2022
c07a719
spelling: registry
jsoref Jul 31, 2022
fd48d5f
spelling: reload
jsoref Jul 31, 2022
54df2bd
spelling: representation
jsoref Jul 31, 2022
657edf0
spelling: representing
jsoref Jul 31, 2022
f415880
spelling: required
jsoref Jul 31, 2022
29ba5e8
spelling: restriction
jsoref Jul 31, 2022
4370c2e
spelling: resurrect
jsoref Jul 31, 2022
02b71c0
spelling: returned
jsoref Jul 31, 2022
a476a81
spelling: returns
jsoref Jul 31, 2022
05479bf
spelling: rewrite
jsoref Jul 31, 2022
1bff454
spelling: runtime
jsoref Jul 31, 2022
668f9eb
spelling: satisfiability
jsoref Jul 31, 2022
1435718
spelling: saturated
jsoref Jul 31, 2022
9863a84
spelling: scrutinises
jsoref Jul 31, 2022
c429202
spelling: scruts
jsoref Jul 31, 2022
ca26fcf
spelling: segments
jsoref Jul 31, 2022
3154ef2
spelling: selector
jsoref Jul 31, 2022
781c8a3
spelling: separate
jsoref Jul 31, 2022
cde1509
spelling: separately
jsoref Jul 31, 2022
804ebb6
spelling: sequence
jsoref Jul 31, 2022
63280c1
spelling: serializable
jsoref Jul 31, 2022
1eb1ebb
spelling: shadow
jsoref Jul 31, 2022
9ce4e43
spelling: shifts
jsoref Jul 31, 2022
6899056
spelling: shorten
jsoref Jul 31, 2022
8dbbb4e
spelling: should
jsoref Jul 31, 2022
496c681
spelling: shuffle
jsoref Jul 31, 2022
6e56fa2
spelling: sieve
jsoref Jul 31, 2022
f1f35b4
spelling: signature
jsoref Jul 31, 2022
484ea14
spelling: significantly
jsoref Jul 31, 2022
1fb93a0
spelling: similar
jsoref Jul 31, 2022
8a538d5
spelling: simpler
jsoref Jul 31, 2022
8e6cab5
spelling: simplification
jsoref Jul 31, 2022
cb79c1b
spelling: simplified
jsoref Jul 31, 2022
4e78f40
spelling: simplifier
jsoref Jul 31, 2022
ed46580
spelling: simplify
jsoref Jul 31, 2022
f559edc
spelling: simultaneously
jsoref Jul 31, 2022
89299d8
spelling: singleton
jsoref Jul 31, 2022
a96a7bf
spelling: solidify
jsoref Jul 31, 2022
9822010
spelling: some
jsoref Jul 28, 2022
3fa3965
spelling: something
jsoref Jul 31, 2022
5bb078e
spelling: specialisation
jsoref Jul 31, 2022
aabd7c5
spelling: specialise
jsoref Jul 31, 2022
a934b49
spelling: specializations
jsoref Jul 31, 2022
d49f876
spelling: specific
jsoref Jul 31, 2022
3c5d420
spelling: specifically
jsoref Jul 31, 2022
8d82246
spelling: specification
jsoref Jul 31, 2022
6c3658f
spelling: specified
jsoref Jul 31, 2022
f6e8298
spelling: specify
jsoref Jul 31, 2022
d59955d
spelling: speculatively
jsoref Jul 31, 2022
6120735
spelling: splitting
jsoref Jul 31, 2022
e6213aa
spelling: statement
jsoref Jul 31, 2022
6f91a0d
spelling: statistics
jsoref Jul 31, 2022
74a7884
spelling: straightforward
jsoref Jul 31, 2022
7bf44fe
spelling: strengthen
jsoref Jul 31, 2022
4550fab
spelling: strictly
jsoref Jul 31, 2022
19ba3a6
spelling: strictness
jsoref Jul 31, 2022
2ec905d
spelling: structure
jsoref Jul 31, 2022
06386a6
spelling: stylised
jsoref Jul 31, 2022
efcb499
spelling: subsequent
jsoref Jul 31, 2022
dc84c2f
spelling: subsequently
jsoref Jul 31, 2022
f1652e7
spelling: substituted
jsoref Jul 31, 2022
12ad85c
spelling: substitution
jsoref Jul 31, 2022
419c507
spelling: succeeds
jsoref Jul 31, 2022
ec4ffd7
spelling: success
jsoref Jul 31, 2022
f632684
spelling: successfully
jsoref Jul 31, 2022
f3c1382
spelling: supply
jsoref Jul 31, 2022
7b6edd2
spelling: suppose
jsoref Jul 31, 2022
dfd6e0f
spelling: supposed
jsoref Jul 31, 2022
0e3da83
spelling: suppressible
jsoref Jul 31, 2022
f46343e
spelling: suppression
jsoref Jul 31, 2022
fc47ce9
spelling: surprisingly
jsoref Jul 31, 2022
1aac2e0
spelling: synchronize
jsoref Jul 31, 2022
aa44080
spelling: synonym
jsoref Jul 31, 2022
e050a43
spelling: synonyms
jsoref Jul 31, 2022
0a95b1c
spelling: temporarily
jsoref Jul 31, 2022
235a7fe
spelling: terminate
jsoref Jul 31, 2022
53d986f
spelling: terminology
jsoref Jul 31, 2022
7686e26
spelling: than
jsoref Jul 28, 2022
156743d
spelling: that
jsoref Jul 28, 2022
96a081c
spelling: the
jsoref Jul 28, 2022
2682296
spelling: threshold
jsoref Jul 31, 2022
29006a8
spelling: thresholds
jsoref Jul 31, 2022
9b00aa0
spelling: to
jsoref Jul 28, 2022
12b1a14
spelling: touchability
jsoref Jul 31, 2022
6e9180c
spelling: transformation
jsoref Jul 31, 2022
2e5f8d3
spelling: transformations
jsoref Jul 31, 2022
073df5f
spelling: transformer
jsoref Jul 31, 2022
90228ad
spelling: transitive
jsoref Jul 31, 2022
391332b
spelling: transitively
jsoref Jul 31, 2022
90facc0
spelling: translate
jsoref Jul 31, 2022
18c4325
spelling: traverse
jsoref Jul 31, 2022
26dab55
spelling: treating
jsoref Jul 28, 2022
a9aee5e
spelling: trigger
jsoref Jul 31, 2022
adf760d
spelling: typecheck
jsoref Jul 31, 2022
ff74b5e
spelling: typechecked
jsoref Jul 31, 2022
6e68f92
spelling: typechecker
jsoref Jul 31, 2022
63caa18
spelling: unadorned
jsoref Jul 31, 2022
258ea35
spelling: unambiguous
jsoref Jul 31, 2022
c8334b4
spelling: unboxed
jsoref Jul 31, 2022
f386ed8
spelling: unconditionally
jsoref Jul 31, 2022
921a15d
spelling: unconstrained
jsoref Jul 31, 2022
9822ec8
spelling: unevaluated
jsoref Jul 31, 2022
c174b7a
spelling: unifiable
jsoref Jul 31, 2022
6f86fd5
spelling: unification
jsoref Jul 31, 2022
9de19d5
spelling: unified
jsoref Jul 31, 2022
4ac1a4e
spelling: universal
jsoref Jul 31, 2022
07becdd
spelling: universally
jsoref Jul 31, 2022
c70262a
spelling: unnecessary
jsoref Jul 31, 2022
c8bf616
spelling: unregistered
jsoref Jul 31, 2022
c1946c4
spelling: unsatisfied
jsoref Jul 31, 2022
2b1af43
spelling: untouchable
jsoref Jul 31, 2022
3409664
spelling: utilities
jsoref Jul 31, 2022
93c6b03
spelling: variable
jsoref Jul 31, 2022
265add6
spelling: variables
jsoref Jul 31, 2022
fd6f978
spelling: variants
jsoref Jul 31, 2022
76f612b
spelling: verbatimly
jsoref Jul 31, 2022
5b884d1
spelling: version
jsoref Jul 31, 2022
bdf9d0e
spelling: vigorously
jsoref Jul 31, 2022
adfa55d
spelling: want
jsoref Jul 31, 2022
6cbbbd2
spelling: whatever
jsoref Jul 31, 2022
3d82a22
spelling: when
jsoref Jul 28, 2022
c5dd24a
spelling: whenever
jsoref Jul 31, 2022
751a9c5
spelling: where
jsoref Jul 31, 2022
722700b
spelling: whether
jsoref Jul 31, 2022
0e60ba8
spelling: which
jsoref Jul 31, 2022
2b03841
spelling: with
jsoref Jul 28, 2022
0b2bb38
spelling: working
jsoref Jul 31, 2022
a4178ef
spelling: would
jsoref Jul 31, 2022
271908a
spelling: wrapper
jsoref Jul 31, 2022
76a3afb
spelling: write
jsoref Jul 31, 2022
8704d2e
spelling: writing
jsoref Jul 31, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion compiler/Eta/Backpack/NameShape.hs
Expand Up @@ -150,7 +150,7 @@ ns_module = mkHoleModule . ns_mod_name
-- | Substitution on @{A.T}@. We enforce the invariant that the
-- 'nameModule' of keys of this map have 'moduleUnitId' @hole@
-- (meaning that if we have a hole substitution, the keys of the map
-- are never affected.) Alternately, this is ismorphic to
-- are never affected.) Alternately, this is isomorphic to
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most corrections were automatically suggested by Google Sheets. This is amongst them. In general, I don't fight Google except when I have sufficient experience to know it's wrong.

-- @Map ('ModuleName', 'OccName') 'Name'@.
type ShNameSubst = NameEnv Name

Expand Down
6 changes: 3 additions & 3 deletions compiler/Eta/BasicTypes/BasicTypes.hs
Expand Up @@ -2,7 +2,7 @@
(c) The University of Glasgow 2006
(c) The GRASP/AQUA Project, Glasgow University, 1997-1998

\section[BasicTypes]{Miscellanous types}
\section[BasicTypes]{Miscellaneous types}

This module defines a miscellaneously collection of very simple
types that
Expand Down Expand Up @@ -343,7 +343,7 @@ Consider
\begin{verbatim}
a `op1` b `op2` c
\end{verbatim}
@(compareFixity op1 op2)@ tells which way to arrange appication, or
@(compareFixity op1 op2)@ tells which way to arrange application, or
whether there's an error.
-}

Expand Down Expand Up @@ -761,7 +761,7 @@ instance Outputable OccInfo where
{-
************************************************************************
* *
Default method specfication
Default method specification
* *
************************************************************************

Expand Down
16 changes: 8 additions & 8 deletions compiler/Eta/BasicTypes/DataCon.hs
Expand Up @@ -181,7 +181,7 @@ Why might the wrapper have anything to do? Two reasons:
The wrapper has the programmer-specified type:
\$wMkT :: a -> T [a]
\$wMkT a x = MkT [a] a [a] x
The third argument is a coerion
The third argument is a coercion
[a] :: [a]~[a]

INVARIANT: the dictionary constructor for a class
Expand Down Expand Up @@ -222,7 +222,7 @@ It's a flaw in the language.
it separately in the type checker on occurrences of a
constructor, either in an expression or in a pattern.

[May 2003: actually I think this decision could evasily be
[May 2003: actually I think this decision could easily be
reversed now, and probably should be. Generics could be
disabled for types with a stupid context; record updates now
(H98) needs the context too; etc. It's an unforced change, so
Expand Down Expand Up @@ -524,7 +524,7 @@ Terminology:

Note [Data con representation]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The dcRepType field contains the type of the representation of a contructor
The dcRepType field contains the type of the representation of a constructor
This may differ from the type of the constructor *Id* (built
by MkId.mkDataConId) for two reasons:
a) the constructor Id may be overloaded, but the dictionary isn't stored
Expand Down Expand Up @@ -669,7 +669,7 @@ mkDataCon :: Name
-> [TyVar] -- ^ Universally quantified type variables
-> [TyVar] -- ^ Existentially quantified type variables
-> [(TyVar,Type)] -- ^ GADT equalities
-> ThetaType -- ^ Theta-type occuring before the arguments proper
-> ThetaType -- ^ Theta-type occurring before the arguments proper
-> [Type] -- ^ Original argument types
-> Type -- ^ Original result type
-> TyCon -- ^ Representation type constructor
Expand All @@ -692,7 +692,7 @@ mkDataCon name declared_infix
-- data T a where { MkT :: S }
-- then it's possible that the univ_tvs may hit an assertion failure
-- if you pull on univ_tvs. This case is checked by checkValidDataCon,
-- so the error is detected properly... it's just that asaertions here
-- so the error is detected properly... it's just that assertions here
-- are a little dodgy.

= con
Expand Down Expand Up @@ -741,7 +741,7 @@ eqSpecPreds spec = [ mkEqPred (mkTyVarTy tv) ty | (tv,ty) <- spec ]
{-
Note [Unpack equality predicates]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If we have a GADT with a contructor C :: (a~[b]) => b -> T a
If we have a GADT with a constructor C :: (a~[b]) => b -> T a
we definitely want that equality predicate *unboxed* so that it
takes no space at all. This is easily done: just give it
an UNPACK pragma. The rest of the unpack/repack code does the
Expand Down Expand Up @@ -789,7 +789,7 @@ dataConUnivTyVars = dcUnivTyVars
dataConExTyVars :: DataCon -> [TyVar]
dataConExTyVars = dcExTyVars

-- | Both the universal and existentiatial type variables of the constructor
-- | Both the universal and existential type variables of the constructor
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure about this. Google suggested existentialism but that didn't seem right...

dataConAllTyVars :: DataCon -> [TyVar]
dataConAllTyVars (MkData { dcUnivTyVars = univ_tvs, dcExTyVars = ex_tvs })
= univ_tvs ++ ex_tvs
Expand Down Expand Up @@ -1143,7 +1143,7 @@ promoteDataCon_maybe (MkData { dcPromoted = mb_tc }) = mb_tc
{-
Note [Promoting a Type to a Kind]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppsoe we have a data constructor D
Suppose we have a data constructor D
D :: forall (a:*). Maybe a -> T a
We promote this to be a type constructor 'D:
'D :: forall (k:BOX). 'Maybe k -> 'T k
Expand Down
12 changes: 6 additions & 6 deletions compiler/Eta/BasicTypes/Demand.hs
Expand Up @@ -736,7 +736,7 @@ cleanEvalProdDmd n = JD { sd = HeadStr, ud = UProd (replicate n useTop) }
{-
************************************************************************
* *
Demand: combining stricness and usage
Demand: combining strictness and usage
* *
************************************************************************
-}
Expand Down Expand Up @@ -1246,7 +1246,7 @@ We
3. combine the termination results, but
4. take CPR info from the first argument.

3 and 4 are implementd in bothDmdResult.
3 and 4 are implemented in bothDmdResult.
-}

-- Equality needed for fixpoints in DmdAnal
Expand Down Expand Up @@ -1544,7 +1544,7 @@ But the demand fed into f might be less than <C(C(S)), C1(C1(S))>. There are a f
- And finally termination information: If r says that f diverges for sure,
then this holds when the demand guarantees that two arguments are going to
be passed. If the demand is lower, we may just as well converge.
If we were tracking definite convegence, than that would still hold under
If we were tracking definite convergence, than that would still hold under
a weaker demand than expected by the demand transformer.
* Not enough demand from the usage side: The missing usage can be expanded
using UCall Many, therefore this is subsumed by the third case:
Expand Down Expand Up @@ -1581,7 +1581,7 @@ Note [Default demand on free variables]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If the variable is not mentioned in the environment of a demand type,
its demand is taken to be a result demand of the type.
For the stricness component,
For the strictness component,
if the result demand is a Diverges, then we use HyperStr
else we use Lazy
For the usage component, we use Absent.
Expand Down Expand Up @@ -1686,8 +1686,8 @@ a demand on the Id into a DmdType, which gives
c) an indication of the result of applying
the Id to its arguments

However, in fact we store in the Id an extremely emascuated demand
transfomer, namely
However, in fact we store in the Id an extremely emasculated demand
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

transformer, namely

a single DmdType
(Nevertheless we dignify StrictSig as a distinct type.)
Expand Down
6 changes: 3 additions & 3 deletions compiler/Eta/BasicTypes/Id.hs
Expand Up @@ -211,7 +211,7 @@ setIdInfo id info = seqIdInfo info `seq` (lazySetIdInfo id info)
modifyIdInfo :: (IdInfo -> IdInfo) -> Id -> Id
modifyIdInfo fn id = setIdInfo id (fn (idInfo id))

-- maybeModifyIdInfo tries to avoid unnecesary thrashing
-- maybeModifyIdInfo tries to avoid unnecessary thrashing
maybeModifyIdInfo :: Maybe IdInfo -> Id -> Id
maybeModifyIdInfo (Just new_info) id = lazySetIdInfo id new_info
maybeModifyIdInfo Nothing id = id
Expand Down Expand Up @@ -482,7 +482,7 @@ isImplicitId id
PrimOpId {} -> True
DataConWorkId {} -> True
DataConWrapId {} -> True
-- These are are implied by their type or class decl;
-- These are implied by their type or class decl;
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doubled words are usually typos and my tooling flags them and I try to correct them by hand. There are certain cases where the algorithm is wrong. Generally that that is acceptable/intended. Here, I don't think the doubling is intended, and hence I've removed it.

-- remember that all type and class decls appear in the interface file.
-- The dfun id is not an implicit Id; it must *not* be omitted, because
-- it carries version info for the instance decl
Expand Down Expand Up @@ -627,7 +627,7 @@ setIdCafInfo :: Id -> CafInfo -> Id
setIdCafInfo id caf_info = modifyIdInfo (`setCafInfo` caf_info) id

---------------------------------
-- Occcurrence INFO
-- Occurrence INFO
idOccInfo :: Id -> OccInfo
idOccInfo id = occInfo (idInfo id)

Expand Down
6 changes: 3 additions & 3 deletions compiler/Eta/BasicTypes/IdInfo.hs
Expand Up @@ -193,7 +193,7 @@ data IdInfo
unfoldingInfo :: Unfolding, -- ^ The 'Id's unfolding
cafInfo :: CafInfo, -- ^ 'Id' CAF info
oneShotInfo :: OneShotInfo, -- ^ Info about a lambda-bound variable, if the 'Id' is one
inlinePragInfo :: InlinePragma, -- ^ Any inline pragma atached to the 'Id'
inlinePragInfo :: InlinePragma, -- ^ Any inline pragma attached to the 'Id'
occInfo :: OccInfo, -- ^ How the 'Id' occurs in the program

strictnessInfo :: StrictSig, -- ^ A strictness signature
Expand Down Expand Up @@ -343,7 +343,7 @@ But we don't do that for instance declarations and so we just treat
them all uniformly.

The EXCEPTION is PrimOpIds, which do have rules in their IdInfo. That is
jsut for convenience really.
just for convenience really.

However, LocalIds may have non-empty RuleInfo. We treat them
differently because:
Expand All @@ -364,7 +364,7 @@ data RuleInfo
-- ru_fn though.
-- Note [Rule dependency info] in OccurAnal

-- | Assume that no specilizations exist: always safe
-- | Assume that no specializations exist: always safe
emptyRuleInfo :: RuleInfo
emptyRuleInfo = RuleInfo [] emptyDVarSet

Expand Down
8 changes: 4 additions & 4 deletions compiler/Eta/BasicTypes/Literal.hs
Expand Up @@ -137,8 +137,8 @@ They only get converted into real Core,
during the CorePrep phase, although TidyPgm looks ahead at what the
core will be, so that it can see whether it involves CAFs.

When we initally build an Integer literal, notably when
deserialising it from an interface file (see the Binary instance
When we initially build an Integer literal, notably when
deserializing it from an interface file (see the Binary instance
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Google suggested this. Generally I leave -ise British variants alone. But the Internet agrees that this -z/-s variation doesn't exist.

below), we don't have convenient access to the mkInteger Id. So we
just use an error thunk, and fill in the real Id when we do tcIfaceLit
in TcIface.
Expand Down Expand Up @@ -475,7 +475,7 @@ literalType (MachLabel _ _ _) = addrPrimTy
literalType (LitInteger _ t) = t

absentLiteralOf :: TyCon -> Maybe Literal
-- Return a literal of the appropriate primtive
-- Return a literal of the appropriate primitive
-- TyCon, to use as a placeholder when it doesn't matter
absentLiteralOf tc = lookupUFM absent_lits (tyConName tc)

Expand Down Expand Up @@ -527,7 +527,7 @@ litTag (MachNull) = _ILIT(12)
{-
Printing
~~~~~~~~
* MachX (i.e. unboxed) things are printed unadornded (e.g. 3, 'a', "foo")
* MachX (i.e. unboxed) things are printed unadorned (e.g. 3, 'a', "foo")
exceptions: MachFloat gets an initial keyword prefix.
-}

Expand Down
22 changes: 11 additions & 11 deletions compiler/Eta/BasicTypes/MkId.hs
Expand Up @@ -108,7 +108,7 @@ There are several reasons why an Id might appear in the wiredInIds:
result type. -- sof 1/99]

(3) Other error functions (rUNTIME_ERROR_ID) are wired in (a) because
the desugarer generates code that mentiones them directly, and
the desugarer generates code that mentions them directly, and
(b) for the same reason as eRROR_ID

(4) lazyId is wired in because the wired-in version overrides the
Expand Down Expand Up @@ -395,13 +395,13 @@ mkDataConWorkId wkr_name data_con
-- even if the data constructor is declared strict
-- e.g. data T = MkT !(Int,Int)
-- Why? Because the *wrapper* is strict (and its unfolding has case
-- expresssions that do the evals) but the *worker* itself is not.
-- expressions that do the evals) but the *worker* itself is not.
-- If we pretend it is strict then when we see
-- case x of y -> $wMkT y
-- the simplifier thinks that y is "sure to be evaluated" (because
-- $wMkT is strict) and drops the case. No, $wMkT is not strict.
--
-- When the simplifer sees a pattern
-- When the simplifier sees a pattern
-- case e of MkT x -> ...
-- it uses the dataConRepStrictness of MkT to mark x as evaluated;
-- but that's fine... dataConRepStrictness comes from the data con
Expand Down Expand Up @@ -504,7 +504,7 @@ mkDataConRep dflags fam_envs wrap_name mb_bangs data_con
-- The Cpr info can be important inside INLINE rhss, where the
-- wrapper constructor isn't inlined.
-- And the argument strictness can be important too; we
-- may not inline a contructor when it is partially applied.
-- may not inline a constructor when it is partially applied.
-- For example:
-- data W = C !Int !Int !Int
-- ...(let w = C x in ...(w p q)...)...
Expand Down Expand Up @@ -821,7 +821,7 @@ Because then we'd get an infinite number of arguments.
Here is a more complicated case:
data S = MkS {-# UNPACK #-} !T Int
data T = MkT {-# UNPACK #-} !S Int
Each of S and T must decide independendently whether to unpack
Each of S and T must decide independently whether to unpack
and they had better not both say yes. So they must both say no.

Also behave conservatively when there is no UNPACK pragma
Expand All @@ -836,7 +836,7 @@ because Int is non-recursive.

Note [Unpack equality predicates]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If we have a GADT with a contructor C :: (a~[b]) => b -> T a
If we have a GADT with a constructor C :: (a~[b]) => b -> T a
we definitely want that equality predicate *unboxed* so that it
takes no space at all. This is easily done: just give it
an UNPACK pragma. The rest of the unpack/repack code does the
Expand All @@ -863,7 +863,7 @@ wrapNewTypeBody :: TyCon -> [Type] -> CoreExpr -> CoreExpr
-- newtype T a = MkT (a,Int)
-- MkT :: forall a. (a,Int) -> T a
-- MkT = /\a. \(x:(a,Int)). x `cast` sym (CoT a)
-- where CoT is the coercion TyCon assoicated with the newtype
-- where CoT is the coercion TyCon associated with the newtype
--
-- The call (wrapNewTypeBody T [a] e) returns the
-- body of the wrapper, namely
Expand All @@ -887,7 +887,7 @@ wrapNewTypeBody tycon args result_expr
-- When unwrapping, we do *not* apply any family coercion, because this will
-- be done via a CoPat by the type checker. We have to do it this way as
-- computing the right type arguments for the coercion requires more than just
-- a spliting operation (cf, TcPat.tcConPat).
-- a splitting operation (cf, TcPat.tcConPat).

unwrapNewTypeBody :: TyCon -> [Type] -> CoreExpr -> CoreExpr
unwrapNewTypeBody tycon args result_expr
Expand Down Expand Up @@ -992,7 +992,7 @@ mkFCallId dflags uniq fcall ty

strict_sig = mkClosedStrictSig (replicate arity topDmd) topRes
-- the call does not claim to be strict in its arguments, since they
-- may be lifted (foreign import prim) and the called code doen't
-- may be lifted (foreign import prim) and the called code doesn't
-- necessarily force them. See Trac #11076.
{-
************************************************************************
Expand Down Expand Up @@ -1415,7 +1415,7 @@ and Note [Left folds via right fold]) it was determined that it would be useful
if library authors could explicitly tell the compiler that a certain lambda is
called at most once. The oneShot function allows that.

Like most magic functions it has a compulsary unfolding, so there is no need
Like most magic functions it has a compulsory unfolding, so there is no need
for a real definition somewhere. We have one in GHC.Magic for the convenience
of putting the documentation there.

Expand All @@ -1438,7 +1438,7 @@ Note [magicDictId magic]
~~~~~~~~~~~~~~~~~~~~~~~~~

The identifier `magicDict` is just a place-holder, which is used to
implement a primitve that we cannot define in Haskell but we can write
implement a primitive that we cannot define in Haskell but we can write
in Core. It is declared with a place-holder type:

magicDict :: forall a. a
Expand Down
2 changes: 1 addition & 1 deletion compiler/Eta/BasicTypes/Module.hs
Expand Up @@ -1173,7 +1173,7 @@ To be on the safe side and not pessimize ModuleEnv uses nondeterministic
ordering on Module and normalizes by doing the lexicographic sort when
turning the env to a list.
See Note [Unique Determinism] for more information about the source of
nondeterminism and and Note [Deterministic UniqFM] for explanation of why
nondeterminism and Note [Deterministic UniqFM] for explanation of why
it matters for maps.
-}

Expand Down
2 changes: 1 addition & 1 deletion compiler/Eta/BasicTypes/Name.hs
Expand Up @@ -98,7 +98,7 @@ import Data.Data
************************************************************************
-}

-- | A unique, unambigious name for something, containing information about where
-- | A unique, unambiguous name for something, containing information about where
-- that thing originated.
data Name = Name {
n_sort :: NameSort, -- What sort of name it is
Expand Down
2 changes: 1 addition & 1 deletion compiler/Eta/BasicTypes/NameEnv.hs
Expand Up @@ -43,7 +43,7 @@ depAnal :: (node -> [Name]) -- Defs
-> (node -> [Name]) -- Uses
-> [node]
-> [SCC node]
-- Peform dependency analysis on a group of definitions,
-- Perform dependency analysis on a group of definitions,
-- where each definition may define more than one Name
--
-- The get_defs and get_uses functions are called only once per node
Expand Down
8 changes: 4 additions & 4 deletions compiler/Eta/BasicTypes/OccName.hs
Expand Up @@ -564,12 +564,12 @@ a user-written type or function name
$f... Dict-fun identifiers (from inst decls)
$dmop Default method for 'op'
$pnC n'th superclass selector for class C
$wf Worker for functtoin 'f'
$wf Worker for function 'f'
$sf.. Specialised version of f
T:C Tycon for dictionary for class C
D:C Data constructor for dictionary for class C
NTCo:T Coercion connecting newtype T with its representation type
TFCo:R Coercion connecting a data family to its respresentation type R
TFCo:R Coercion connecting a data family to its representation type R

In encoded form these appear as Zdfxxx etc

Expand Down Expand Up @@ -851,15 +851,15 @@ tidyOccName env occ@(OccName occ_sp fs)
find !k !n
= case lookupUFM env new_fs of
Just {} -> find (k+1 :: Int) (n+k)
-- By using n+k, the n arguemt to find goes
-- By using n+k, the n argument to find goes
-- 1, add 1, add 2, add 3, etc which
-- moves at quadratic speed through a dense patch

Nothing -> (new_env, OccName occ_sp new_fs)
where
new_fs = mkFastString (base ++ show n)
new_env = addToUFM (addToUFM env new_fs 1) base1 (n+1)
-- Update: base_fs, so that next time we'll start whwere we left off
-- Update: base_fs, so that next time we'll start where we left off
-- new_fs, so that we know it is taken
-- If they are the same (n==1), the former wins
-- See Note [TidyOccEnv]
Expand Down