Commit fc6a9525 authored by Edward Z. Yang's avatar Edward Z. Yang

s/implict/implicit/i

Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
parent a23f1313
......@@ -392,7 +392,7 @@ compiler expects.
-- the declaration itself, will find the fully-glorious Name
--
-- We handle ATs specially. They are not main declarations, but also not
-- implict things (in particular, adding them to `implicitTyThings' would mess
-- implicit things (in particular, adding them to `implicitTyThings' would mess
-- things up in the renaming/type checking of source programs).
-----------------------------------------------------
......@@ -445,11 +445,11 @@ loadDecl ignore_prags mod (_version, decl)
-- [ "MkT" -> <datacon MkT>, "x" -> <selector x>, ... ]
-- (where the "MkT" is the *Name* associated with MkT, etc.)
--
-- We do this by mapping the implict_names to the associated
-- We do this by mapping the implicit_names to the associated
-- TyThings. By the invariant on ifaceDeclImplicitBndrs and
-- implicitTyThings, we can use getOccName on the implicit
-- TyThings to make this association: each Name's OccName should
-- be the OccName of exactly one implictTyThing. So the key is
-- be the OccName of exactly one implicitTyThing. So the key is
-- to define a "mini-env"
--
-- [ 'MkT' -> <datacon MkT>, 'x' -> <selector x>, ... ]
......@@ -457,7 +457,7 @@ loadDecl ignore_prags mod (_version, decl)
--
-- However, there is a subtlety: due to how type checking needs
-- to be staged, we can't poke on the forkM'd thunks inside the
-- implictTyThings while building this mini-env.
-- implicitTyThings while building this mini-env.
-- If we poke these thunks too early, two problems could happen:
-- (1) When processing mutually recursive modules across
-- hs-boot boundaries, poking too early will do the
......@@ -494,7 +494,7 @@ loadDecl ignore_prags mod (_version, decl)
-- ; traceIf (text "Loading decl for " <> ppr main_name $$ ppr implicit_names)
; return $ (main_name, thing) :
-- uses the invariant that implicit_names and
-- implictTyThings are bijective
-- implicitTyThings are bijective
[(n, lookup n) | n <- implicit_names]
}
where
......
......@@ -1484,7 +1484,7 @@ Examples:
IfaceClass decl happens to use IfaceDecl recursively for the
associated types, but that's irrelevant here.)
* Dictionary function Ids are not implict.
* Dictionary function Ids are not implicit.
* Axioms for newtypes are implicit (same as above), but axioms
for data/type family instances are *not* implicit (like DFunIds).
......
......@@ -520,7 +520,7 @@ of exceptions, and finally I gave up the battle:
Note [Injecting implicit bindings]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We inject the implict bindings right at the end, in CoreTidy.
We inject the implicit bindings right at the end, in CoreTidy.
Some of these bindings, notably record selectors, are not
constructed in an optimised form. E.g. record selector for
data T = MkT { x :: {-# UNPACK #-} !Int }
......
......@@ -508,7 +508,7 @@ okIPCtxt (SpecInstCtxt {}) = False
okIPCtxt _ = True
badIPPred :: PredType -> SDoc
badIPPred pred = ptext (sLit "Illegal implict parameter") <+> quotes (ppr pred)
badIPPred pred = ptext (sLit "Illegal implicit parameter") <+> quotes (ppr pred)
check_eq_pred :: DynFlags -> UserTypeCtxt -> PredType -> TcType -> TcType -> TcM ()
......@@ -652,7 +652,7 @@ unambiguous. See Note [Impedence matching] in TcBinds.
This test is very conveniently implemented by calling
tcSubType <type> <type>
This neatly takes account of the functional dependecy stuff above,
and implict parameter (see Note [Implicit parameters and ambiguity]).
and implicit parameter (see Note [Implicit parameters and ambiguity]).
What about this, though?
g :: C [a] => Int
......
T8912.hs:7:10:
Illegal implict parameter ‘?imp::Int’
Illegal implicit parameter ‘?imp::Int’
In the context: (?imp::Int)
While checking an instance declaration
In the instance declaration for ‘C [a]’
tcfail041.hs:5:1:
Illegal implict parameter ‘?imp::Int’
Illegal implicit parameter ‘?imp::Int’
In the context: (?imp::Int)
While checking the super-classes of class ‘D’
In the class declaration for ‘D’
tcfail211.hs:5:1:
Illegal implict parameter ‘?imp::Int’
Illegal implicit parameter ‘?imp::Int’
In the context: (?imp::Int)
While checking the super-classes of class ‘D’
In the class declaration for ‘D’
tcrun045.hs:24:1:
Illegal implict parameter ‘?imp::Int’
Illegal implicit parameter ‘?imp::Int’
In the context: (?imp::Int)
While checking the super-classes of class ‘D’
In the class declaration for ‘D’
Markdown is supported
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