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
base: master
Are you sure you want to change the base?
Spelling #990
Changes from all commits
f7f4aa9
fa79843
55709b6
65fb105
475da57
6e0cc75
67cbbd9
6df9f4c
e4f6536
dd15bf4
857114c
179072f
60fc4f5
1891495
3ad8302
cf8dd30
45f7cd5
3c5b581
33a3e9a
e5e1895
83eed28
aee01fe
806b510
a2cc8cb
80cd8d0
675bed4
dc2e95d
5efa0f7
63ad729
da4798f
30a972a
79b7849
1fbcfc5
7ea6fe9
0190013
d4588c5
9f9f8a2
8c85afc
2b1a39c
fe51a02
4693989
6fa769c
dfe6544
7c0ac72
b42b96f
082a9c1
c18aa16
a3cee0f
fd8fd63
d2332cb
bd6cb3f
b1ddd10
c2c11fb
70397d3
55eb446
b6648e8
a19b64e
0feae64
74d2902
91fac9b
5625053
7d8d715
9005697
843a2fe
feaf176
21efa10
a23d112
cdd6e42
bc40c12
eb1d333
2f8e41c
ad1cbc7
7523637
ecc13fc
01f24c7
281e6c5
914423f
87c24d5
20ac321
95500b9
1b64639
1424e4b
93351d3
7433949
7a9a9c3
d339236
3836e89
314a4d2
240702c
c81d68e
a1c2ac0
6b90224
8c90f5f
14420bb
f06ef5a
57debda
e8d8595
69952ea
26776e6
02b828e
df3e906
1d53f2b
af148ed
6623639
27ec7b9
dd95f33
25dd59b
05def34
57c427b
cd1dcbb
f0cd09e
c51ab66
7af2939
e636f24
1dea0ab
254e045
3f5c378
81a9255
06c4ff1
c07a719
fd48d5f
54df2bd
657edf0
f415880
29ba5e8
4370c2e
02b71c0
a476a81
05479bf
1bff454
668f9eb
1435718
9863a84
c429202
ca26fcf
3154ef2
781c8a3
cde1509
804ebb6
63280c1
1eb1ebb
9ce4e43
6899056
8dbbb4e
496c681
6e56fa2
f1f35b4
484ea14
1fb93a0
8a538d5
8e6cab5
cb79c1b
4e78f40
ed46580
f559edc
89299d8
a96a7bf
9822010
3fa3965
5bb078e
aabd7c5
a934b49
d49f876
3c5d420
8d82246
6c3658f
f6e8298
d59955d
6120735
e6213aa
6f91a0d
74a7884
7bf44fe
4550fab
19ba3a6
2ec905d
06386a6
efcb499
dc84c2f
f1652e7
12ad85c
419c507
ec4ffd7
f632684
f3c1382
7b6edd2
dfd6e0f
0e3da83
f46343e
fc47ce9
1aac2e0
aa44080
e050a43
0a95b1c
235a7fe
53d986f
7686e26
156743d
96a081c
2682296
29006a8
9b00aa0
12b1a14
6e9180c
2e5f8d3
073df5f
90228ad
391332b
90facc0
18c4325
26dab55
a9aee5e
adf760d
ff74b5e
6e68f92
63caa18
258ea35
c8334b4
f386ed8
921a15d
9822ec8
c174b7a
6f86fd5
9de19d5
4ac1a4e
07becdd
c70262a
c8bf616
c1946c4
2b1af43
3409664
93c6b03
265add6
fd6f978
76f612b
5b884d1
bdf9d0e
adfa55d
6cbbbd2
3d82a22
c5dd24a
751a9c5
722700b
0e60ba8
2b03841
0b2bb38
a4178ef
271908a
76a3afb
8704d2e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 | ||
|
@@ -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 | ||
|
@@ -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 | ||
|
@@ -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 | ||
|
@@ -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 | ||
|
@@ -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 | ||
|
@@ -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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure about this. Google suggested |
||
dataConAllTyVars :: DataCon -> [TyVar] | ||
dataConAllTyVars (MkData { dcUnivTyVars = univ_tvs, dcExTyVars = ex_tvs }) | ||
= univ_tvs ++ ex_tvs | ||
|
@@ -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 | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -736,7 +736,7 @@ cleanEvalProdDmd n = JD { sd = HeadStr, ud = UProd (replicate n useTop) } | |
{- | ||
************************************************************************ | ||
* * | ||
Demand: combining stricness and usage | ||
Demand: combining strictness and usage | ||
* * | ||
************************************************************************ | ||
-} | ||
|
@@ -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 | ||
|
@@ -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: | ||
|
@@ -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. | ||
|
@@ -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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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.) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 | ||
|
@@ -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; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 |
||
-- 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 | ||
|
@@ -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) | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Google suggested this. Generally I leave |
||
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. | ||
|
@@ -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) | ||
|
||
|
@@ -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. | ||
-} | ||
|
||
|
There was a problem hiding this comment.
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.