summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri de Wit <admin@rodlogic.net>2015-02-09 13:41:02 -0600
committerAustin Seipp <austin@well-typed.com>2015-02-09 21:07:25 -0600
commit83efb985d632d3a351f69cb6ce9dc5232127d545 (patch)
treecbc524c15a509ea299e1aebf78e3092757ecb4f5
parenta741e69a230eb6d6e3373ad1fbe53c73b5f95077 (diff)
downloadhaskell-83efb985d632d3a351f69cb6ce9dc5232127d545.tar.gz
Replace .lhs with .hs in compiler comments
Summary: It looks like during .lhs -> .hs switch the comments were not updated. So doing exactly that. Reviewers: austin, jstolarek, hvr, goldfire Reviewed By: austin, jstolarek Subscribers: thomie, goldfire Differential Revision: https://phabricator.haskell.org/D621 GHC Trac Issues: #9986
-rw-r--r--compiler/basicTypes/BasicTypes.hs4
-rw-r--r--compiler/basicTypes/DataCon.hs2
-rw-r--r--compiler/basicTypes/Id.hs4
-rw-r--r--compiler/basicTypes/IdInfo.hs2
-rw-r--r--compiler/basicTypes/MkId.hs2
-rw-r--r--compiler/basicTypes/OccName.hs2
-rw-r--r--compiler/basicTypes/Var.hs2
-rw-r--r--compiler/cmm/CmmBuildInfoTables.hs2
-rw-r--r--compiler/codeGen/StgCmmBind.hs2
-rw-r--r--compiler/codeGen/StgCmmExpr.hs2
-rw-r--r--compiler/coreSyn/CoreArity.hs2
-rw-r--r--compiler/coreSyn/CoreFVs.hs4
-rw-r--r--compiler/coreSyn/CorePrep.hs2
-rw-r--r--compiler/coreSyn/CoreSyn.hs20
-rw-r--r--compiler/coreSyn/CoreUtils.hs2
-rw-r--r--compiler/deSugar/Check.hs4
-rw-r--r--compiler/deSugar/DsExpr.hs8
-rw-r--r--compiler/deSugar/DsForeign.hs2
-rw-r--r--compiler/ghci/ByteCodeGen.hs2
-rw-r--r--compiler/ghci/Linker.hs2
-rw-r--r--compiler/hsSyn/Convert.hs2
-rw-r--r--compiler/hsSyn/HsDecls.hs2
-rw-r--r--compiler/iface/IfaceType.hs2
-rw-r--r--compiler/iface/LoadIface.hs2
-rw-r--r--compiler/main/DriverPipeline.hs4
-rw-r--r--compiler/main/Finder.hs2
-rw-r--r--compiler/main/GHC.hs2
-rw-r--r--compiler/main/HscTypes.hs4
-rw-r--r--compiler/main/TidyPgm.hs2
-rw-r--r--compiler/nativeGen/PIC.hs2
-rw-r--r--compiler/nativeGen/PPC/CodeGen.hs2
-rw-r--r--compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs4
-rw-r--r--compiler/prelude/PrelRules.hs4
-rw-r--r--compiler/prelude/PrimOp.hs4
-rw-r--r--compiler/prelude/TysPrim.hs4
-rw-r--r--compiler/rename/RnEnv.hs2
-rw-r--r--compiler/rename/RnPat.hs2
-rw-r--r--compiler/rename/RnSplice.hs4
-rw-r--r--compiler/simplCore/FloatIn.hs2
-rw-r--r--compiler/simplCore/OccurAnal.hs2
-rw-r--r--compiler/simplCore/SetLevels.hs4
-rw-r--r--compiler/simplCore/SimplCore.hs4
-rw-r--r--compiler/simplCore/SimplUtils.hs4
-rw-r--r--compiler/simplCore/Simplify.hs6
-rw-r--r--compiler/simplStg/UnariseStg.hs2
-rw-r--r--compiler/specialise/SpecConstr.hs4
-rw-r--r--compiler/stgSyn/CoreToStg.hs4
-rw-r--r--compiler/stranal/DmdAnal.hs2
-rw-r--r--compiler/typecheck/FamInst.hs2
-rw-r--r--compiler/typecheck/TcEvidence.hs2
-rw-r--r--compiler/typecheck/TcExpr.hs2
-rw-r--r--compiler/typecheck/TcForeign.hs2
-rw-r--r--compiler/typecheck/TcInteract.hs2
-rw-r--r--compiler/typecheck/TcPat.hs2
-rw-r--r--compiler/typecheck/TcSplice.hs4
-rw-r--r--compiler/typecheck/TcTyClsDecls.hs2
-rw-r--r--compiler/typecheck/TcType.hs4
-rw-r--r--compiler/types/CoAxiom.hs2
-rw-r--r--compiler/types/Coercion.hs6
-rw-r--r--compiler/types/Kind.hs4
-rw-r--r--compiler/types/OptCoercion.hs2
-rw-r--r--compiler/types/TyCon.hs4
-rw-r--r--compiler/types/Type.hs6
-rw-r--r--compiler/types/TypeRep.hs2
-rw-r--r--compiler/types/Unify.hs2
-rw-r--r--compiler/utils/Binary.hs2
-rw-r--r--compiler/utils/ExtsCompat46.hs2
67 files changed, 105 insertions, 105 deletions
diff --git a/compiler/basicTypes/BasicTypes.hs b/compiler/basicTypes/BasicTypes.hs
index 9e52844b6b..04353bf3d0 100644
--- a/compiler/basicTypes/BasicTypes.hs
+++ b/compiler/basicTypes/BasicTypes.hs
@@ -449,7 +449,7 @@ instance Outputable Origin where
-}
-- | The semantics allowed for overlapping instances for a particular
--- instance. See Note [Safe Haskell isSafeOverlap] (in `InstEnv.lhs`) for a
+-- instance. See Note [Safe Haskell isSafeOverlap] (in `InstEnv.hs`) for a
-- explanation of the `isSafeOverlap` field.
--
-- - 'ApiAnnotation.AnnKeywordId' :
@@ -955,7 +955,7 @@ The main effects of CONLIKE are:
- A CoreUnfolding has a field that caches exprIsExpandable
- The rule matcher consults this field. See
- Note [Expanding variables] in Rules.lhs.
+ Note [Expanding variables] in Rules.hs.
-}
isConLike :: RuleMatchInfo -> Bool
diff --git a/compiler/basicTypes/DataCon.hs b/compiler/basicTypes/DataCon.hs
index b635aaf4a1..a2a4226719 100644
--- a/compiler/basicTypes/DataCon.hs
+++ b/compiler/basicTypes/DataCon.hs
@@ -413,7 +413,7 @@ data DataConRep
-- and *including* all evidence args
, dcr_stricts :: [StrictnessMark] -- 1-1 with dcr_arg_tys
- -- See also Note [Data-con worker strictness] in MkId.lhs
+ -- See also Note [Data-con worker strictness] in MkId.hs
, dcr_bangs :: [HsImplBang] -- The actual decisions made (including failures)
-- about the original arguments; 1-1 with orig_arg_tys
diff --git a/compiler/basicTypes/Id.hs b/compiler/basicTypes/Id.hs
index 3e6473ff6e..14e789b653 100644
--- a/compiler/basicTypes/Id.hs
+++ b/compiler/basicTypes/Id.hs
@@ -571,7 +571,7 @@ setIdDemandInfo id dmd = modifyIdInfo (`setDemandInfo` dmd) id
---------------------------------
-- SPECIALISATION
--- See Note [Specialisations and RULES in IdInfo] in IdInfo.lhs
+-- See Note [Specialisations and RULES in IdInfo] in IdInfo.hs
idSpecialisation :: Id -> SpecInfo
idSpecialisation id = specInfo (idInfo id)
@@ -681,7 +681,7 @@ isStateHackType ty
-- It would be better to spot that r was one-shot to start with, but
-- I don't want to rely on that.
--
- -- Another good example is in fill_in in PrelPack.lhs. We should be able to
+ -- Another good example is in fill_in in PrelPack.hs. We should be able to
-- spot that fill_in has arity 2 (and when Keith is done, we will) but we can't yet.
diff --git a/compiler/basicTypes/IdInfo.hs b/compiler/basicTypes/IdInfo.hs
index 3242f5ea9a..a54aeffebd 100644
--- a/compiler/basicTypes/IdInfo.hs
+++ b/compiler/basicTypes/IdInfo.hs
@@ -411,7 +411,7 @@ seqSpecInfo (SpecInfo rules fvs) = seqRules rules `seq` seqVarSet fvs
************************************************************************
-}
--- CafInfo is used to build Static Reference Tables (see simplStg/SRT.lhs).
+-- CafInfo is used to build Static Reference Tables (see simplStg/SRT.hs).
-- | Records whether an 'Id' makes Constant Applicative Form references
data CafInfo
diff --git a/compiler/basicTypes/MkId.hs b/compiler/basicTypes/MkId.hs
index 34fd0aa60b..0b22a6480d 100644
--- a/compiler/basicTypes/MkId.hs
+++ b/compiler/basicTypes/MkId.hs
@@ -1184,7 +1184,7 @@ a) Its second arg can have an unboxed type
b) Its fixity is set in LoadIface.ghcPrimIface
c) It has quite a bit of desugaring magic.
- See DsUtils.lhs Note [Desugaring seq (1)] and (2) and (3)
+ See DsUtils.hs Note [Desugaring seq (1)] and (2) and (3)
d) There is some special rule handing: Note [User-defined RULES for seq]
diff --git a/compiler/basicTypes/OccName.hs b/compiler/basicTypes/OccName.hs
index efa871d4e6..989f81478e 100644
--- a/compiler/basicTypes/OccName.hs
+++ b/compiler/basicTypes/OccName.hs
@@ -152,7 +152,7 @@ data NameSpace = VarName -- Variables, including "real" data constructors
{-! derive: Binary !-}
-- Note [Data Constructors]
--- see also: Note [Data Constructor Naming] in DataCon.lhs
+-- see also: Note [Data Constructor Naming] in DataCon.hs
--
-- $real_vs_source_data_constructors
-- There are two forms of data constructor:
diff --git a/compiler/basicTypes/Var.hs b/compiler/basicTypes/Var.hs
index 925ffe3577..9827450bb8 100644
--- a/compiler/basicTypes/Var.hs
+++ b/compiler/basicTypes/Var.hs
@@ -337,7 +337,7 @@ idDetails (Id { id_details = details }) = details
idDetails other = pprPanic "idDetails" (ppr other)
-- The next three have a 'Var' suffix even though they always build
--- Ids, because Id.lhs uses 'mkGlobalId' etc with different types
+-- Ids, because Id.hs uses 'mkGlobalId' etc with different types
mkGlobalVar :: IdDetails -> Name -> Type -> IdInfo -> Id
mkGlobalVar details name ty info
= mk_id name ty GlobalId details info
diff --git a/compiler/cmm/CmmBuildInfoTables.hs b/compiler/cmm/CmmBuildInfoTables.hs
index 6521a84006..3bbd06f5c6 100644
--- a/compiler/cmm/CmmBuildInfoTables.hs
+++ b/compiler/cmm/CmmBuildInfoTables.hs
@@ -198,7 +198,7 @@ buildSRT dflags topSRT cafs =
return (topSRT, sub_tbls, blockSRTs)
-- Construct an SRT bitmap.
--- Adapted from simpleStg/SRT.lhs, which expects Id's.
+-- Adapted from simpleStg/SRT.hs, which expects Id's.
procpointSRT :: DynFlags -> CLabel -> Map CLabel Int -> [CLabel] ->
UniqSM (Maybe CmmDecl, C_SRT)
procpointSRT _ _ _ [] =
diff --git a/compiler/codeGen/StgCmmBind.hs b/compiler/codeGen/StgCmmBind.hs
index da87f965d5..123d385aa3 100644
--- a/compiler/codeGen/StgCmmBind.hs
+++ b/compiler/codeGen/StgCmmBind.hs
@@ -741,7 +741,7 @@ closureDescription :: DynFlags
-> Name -- Id of closure binding
-> String
-- Not called for StgRhsCon which have global info tables built in
- -- CgConTbls.lhs with a description generated from the data constructor
+ -- CgConTbls.hs with a description generated from the data constructor
closureDescription dflags mod_name name
= showSDocDump dflags (char '<' <>
(if isExternalName name
diff --git a/compiler/codeGen/StgCmmExpr.hs b/compiler/codeGen/StgCmmExpr.hs
index e54ae46028..480cc3329a 100644
--- a/compiler/codeGen/StgCmmExpr.hs
+++ b/compiler/codeGen/StgCmmExpr.hs
@@ -701,7 +701,7 @@ cgIdApp fun_id args = do
--
-- Self-recursive tail calls can be optimized into a local jump in the same
-- way as let-no-escape bindings (see Note [What is a non-escaping let] in
--- stgSyn/CoreToStg.lhs). Consider this:
+-- stgSyn/CoreToStg.hs). Consider this:
--
-- foo.info:
-- a = R1 // calling convention
diff --git a/compiler/coreSyn/CoreArity.hs b/compiler/coreSyn/CoreArity.hs
index 07ef3980c7..5e50642ecf 100644
--- a/compiler/coreSyn/CoreArity.hs
+++ b/compiler/coreSyn/CoreArity.hs
@@ -609,7 +609,7 @@ The (foo DInt) is floated out, and makes ineffective a RULE
One could go further and make exprIsCheap reply True to any
dictionary-typed expression, but that's more work.
-See Note [Dictionary-like types] in TcType.lhs for why we use
+See Note [Dictionary-like types] in TcType.hs for why we use
isDictLikeTy here rather than isDictTy
Note [Eta expanding thunks]
diff --git a/compiler/coreSyn/CoreFVs.hs b/compiler/coreSyn/CoreFVs.hs
index cce313df4b..2a44ccc9a3 100644
--- a/compiler/coreSyn/CoreFVs.hs
+++ b/compiler/coreSyn/CoreFVs.hs
@@ -291,7 +291,7 @@ idRuleRhsVars is_active id
get_fvs (Rule { ru_fn = fn, ru_bndrs = bndrs
, ru_rhs = rhs, ru_act = act })
| is_active act
- -- See Note [Finding rule RHS free vars] in OccAnal.lhs
+ -- See Note [Finding rule RHS free vars] in OccAnal.hs
= delFromUFM fvs fn -- Note [Rule free var hack]
where
fvs = addBndrs bndrs (expr_fvs rhs) isLocalVar emptyVarSet
@@ -390,7 +390,7 @@ delBinderFV :: Var -> VarSet -> VarSet
-- the free tyvars of the types of the binders, and include these in the
-- free vars of the group, attached to the top level of each RHS.
--
--- This actually happened in the defn of errorIO in IOBase.lhs:
+-- This actually happened in the defn of errorIO in IOBase.hs:
-- errorIO (ST io) = case (errorIO# io) of
-- _ -> bottom
-- where
diff --git a/compiler/coreSyn/CorePrep.hs b/compiler/coreSyn/CorePrep.hs
index 924dfb4825..87b7d168d2 100644
--- a/compiler/coreSyn/CorePrep.hs
+++ b/compiler/coreSyn/CorePrep.hs
@@ -108,7 +108,7 @@ The goal of this pass is to prepare for code generation.
We want curried definitions for all of these in case they
aren't inlined by some caller.
-9. Replace (lazy e) by e. See Note [lazyId magic] in MkId.lhs
+9. Replace (lazy e) by e. See Note [lazyId magic] in MkId.hs
10. Convert (LitInteger i t) into the core representation
for the Integer i. Normally this uses mkInteger, but if
diff --git a/compiler/coreSyn/CoreSyn.hs b/compiler/coreSyn/CoreSyn.hs
index 5a399da164..83b3600d84 100644
--- a/compiler/coreSyn/CoreSyn.hs
+++ b/compiler/coreSyn/CoreSyn.hs
@@ -242,7 +242,7 @@ These data types are the heart of the compiler
-- * A coercion
-- If you edit this type, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
data Expr b
= Var Id
| Lit Literal
@@ -265,13 +265,13 @@ type Arg b = Expr b
-- The default alternative is @(DEFAULT, [], rhs)@
-- If you edit this type, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
type Alt b = (AltCon, [b], Expr b)
-- | A case alternative constructor (i.e. pattern match)
-- If you edit this type, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
data AltCon
= DataAlt DataCon -- ^ A plain data constructor: @case e of { Foo x -> ... }@.
-- Invariant: the 'DataCon' is always from a @data@ type, and never from a @newtype@
@@ -286,7 +286,7 @@ data AltCon
-- | Binding, used for top level bindings in a module and local bindings in a @let@.
-- If you edit this type, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
data Bind b = NonRec b (Expr b)
| Rec [(b, (Expr b))]
deriving (Data, Typeable)
@@ -435,7 +435,7 @@ unboxed type.
-- | Allows attaching extra information to points in expressions
-- If you edit this type, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
data Tickish id =
-- | An @{-# SCC #-}@ profiling annotation, either automatically
-- added by the desugarer as a result of -auto-all, or added by
@@ -761,7 +761,7 @@ data CoreRule
-- arguments, it simply discards them; the returned 'CoreExpr'
-- is just the rewrite of 'ru_fn' applied to the first 'ru_nargs' args
}
- -- See Note [Extra args in rule matching] in Rules.lhs
+ -- See Note [Extra args in rule matching] in Rules.hs
type RuleFun = DynFlags -> InScopeEnv -> Id -> [CoreExpr] -> Maybe CoreExpr
type InScopeEnv = (InScopeSet, IdUnfoldingFun)
@@ -918,7 +918,7 @@ data UnfoldingSource
| InlineCompulsory -- Something that *has* no binding, so you *must* inline it
-- Only a few primop-like things have this property
- -- (see MkId.lhs, calls to mkCompulsoryUnfolding).
+ -- (see MkId.hs, calls to mkCompulsoryUnfolding).
-- Inline absolutely always, however boring the context.
@@ -1097,7 +1097,7 @@ isExpandableUnfolding _ = False
expandUnfolding_maybe :: Unfolding -> Maybe CoreExpr
-- Expand an expandable unfolding; this is used in rule matching
--- See Note [Expanding variables] in Rules.lhs
+-- See Note [Expanding variables] in Rules.hs
-- The key point here is that CONLIKE things can be expanded
expandUnfolding_maybe (CoreUnfolding { uf_expandable = True, uf_tmpl = rhs }) = Just rhs
expandUnfolding_maybe _ = Nothing
@@ -1253,7 +1253,7 @@ a list of CoreBind
-}
-- If you edit this type, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
type CoreProgram = [CoreBind] -- See Note [CoreProgram]
-- | The common case for the type of binders and variables when
@@ -1442,7 +1442,7 @@ varsToCoreExprs vs = map varToCoreExpr vs
-- | Extract every variable by this group
bindersOf :: Bind b -> [b]
-- If you edit this function, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
bindersOf (NonRec binder _) = [binder]
bindersOf (Rec pairs) = [binder | (binder, _) <- pairs]
diff --git a/compiler/coreSyn/CoreUtils.hs b/compiler/coreSyn/CoreUtils.hs
index f6dc2a6de1..166fe6c3ee 100644
--- a/compiler/coreSyn/CoreUtils.hs
+++ b/compiler/coreSyn/CoreUtils.hs
@@ -818,7 +818,7 @@ the moment we go for the slightly more aggressive version which treats
Note [exprIsCheap] See also Note [Interaction of exprIsCheap and lone variables]
-~~~~~~~~~~~~~~~~~~ in CoreUnfold.lhs
+~~~~~~~~~~~~~~~~~~ in CoreUnfold.hs
@exprIsCheap@ looks at a Core expression and returns \tr{True} if
it is obviously in weak head normal form, or is cheap to get to WHNF.
[Note that that's not the same as exprIsDupable; an expression might be
diff --git a/compiler/deSugar/Check.hs b/compiler/deSugar/Check.hs
index 3d53e698d8..6930052f95 100644
--- a/compiler/deSugar/Check.hs
+++ b/compiler/deSugar/Check.hs
@@ -53,7 +53,7 @@ The algorithm is based on the first technique, but there are some differences:
left-to-right
\end{itemize}
(By the way the second technique is really similar to the one used in
- @Match.lhs@ to generate code)
+ @Match.hs@ to generate code)
This function takes the equations of a pattern and returns:
\begin{itemize}
@@ -628,7 +628,7 @@ make_whole_con con | isInfixCon con = nlInfixConPat name
Tidying equations
------------------------------------------------------------------------
-tidy_eqn does more or less the same thing as @tidy@ in @Match.lhs@;
+tidy_eqn does more or less the same thing as @tidy@ in @Match.hs@;
that is, it removes syntactic sugar, reducing the number of cases that
must be handled by the main checking algorithm. One difference is
that here we can do *all* the tidying at once (recursively), rather
diff --git a/compiler/deSugar/DsExpr.hs b/compiler/deSugar/DsExpr.hs
index 439d052496..84fcec0c55 100644
--- a/compiler/deSugar/DsExpr.hs
+++ b/compiler/deSugar/DsExpr.hs
@@ -481,14 +481,14 @@ For record construction we do this (assuming T has three arguments)
T { op2 = e }
==>
let err = /\a -> recConErr a
- T (recConErr t1 "M.lhs/230/op1")
+ T (recConErr t1 "M.hs/230/op1")
e
- (recConErr t1 "M.lhs/230/op3")
+ (recConErr t1 "M.hs/230/op3")
\end{verbatim}
@recConErr@ then converts its arugment string into a proper message
before printing it as
\begin{verbatim}
- M.lhs, line 230: missing field op1 was evaluated
+ M.hs, line 230: missing field op1 was evaluated
\end{verbatim}
We also handle @C{}@ as valid construction syntax for an unlabelled
@@ -533,7 +533,7 @@ Then we translate as follows:
case r of
T1 op1 _ op3 -> T1 op1 op2 op3
T2 op4 _ -> T2 op4 op2
- other -> recUpdError "M.lhs/230"
+ other -> recUpdError "M.hs/230"
\end{verbatim}
It's important that we use the constructor Ids for @T1@, @T2@ etc on the
RHSs, and do not generate a Core constructor application directly, because the constructor
diff --git a/compiler/deSugar/DsForeign.hs b/compiler/deSugar/DsForeign.hs
index 715e1ce087..cd78a18332 100644
--- a/compiler/deSugar/DsForeign.hs
+++ b/compiler/deSugar/DsForeign.hs
@@ -670,7 +670,7 @@ foreignExportInitialiser hs_fn =
-- Initialise foreign exports by registering a stable pointer from an
-- __attribute__((constructor)) function.
-- The alternative is to do this from stginit functions generated in
- -- codeGen/CodeGen.lhs; however, stginit functions have a negative impact
+ -- codeGen/CodeGen.hs; however, stginit functions have a negative impact
-- on binary sizes and link times because the static linker will think that
-- all modules that are imported directly or indirectly are actually used by
-- the program.
diff --git a/compiler/ghci/ByteCodeGen.hs b/compiler/ghci/ByteCodeGen.hs
index de5b84e464..ae453c0ccd 100644
--- a/compiler/ghci/ByteCodeGen.hs
+++ b/compiler/ghci/ByteCodeGen.hs
@@ -1154,7 +1154,7 @@ maybe_is_tagToEnum_call app
isDataTyCon tyc
= map (getName . dataConWorkId) (tyConDataCons tyc)
-- NOTE: use the worker name, not the source name of
- -- the DataCon. See DataCon.lhs for details.
+ -- the DataCon. See DataCon.hs for details.
| otherwise
= pprPanic "maybe_is_tagToEnum_call.extract_constr_Ids" (ppr ty)
diff --git a/compiler/ghci/Linker.hs b/compiler/ghci/Linker.hs
index 5a32d0761d..0e36cd9d20 100644
--- a/compiler/ghci/Linker.hs
+++ b/compiler/ghci/Linker.hs
@@ -1105,7 +1105,7 @@ linkPackage dflags pkg
let hs_libs = Packages.hsLibraries pkg
-- The FFI GHCi import lib isn't needed as
- -- compiler/ghci/Linker.lhs + rts/Linker.c link the
+ -- compiler/ghci/Linker.hs + rts/Linker.c link the
-- interpreted references to FFI to the compiled FFI.
-- We therefore filter it out so that we don't get
-- duplicate symbol errors.
diff --git a/compiler/hsSyn/Convert.hs b/compiler/hsSyn/Convert.hs
index 28742d46c0..6c30e2dab3 100644
--- a/compiler/hsSyn/Convert.hs
+++ b/compiler/hsSyn/Convert.hs
@@ -890,7 +890,7 @@ cvtLit (StringPrimL s) = do { let { s' = BS.pack s }
cvtLit _ = panic "Convert.cvtLit: Unexpected literal"
-- cvtLit should not be called on IntegerL, RationalL
-- That precondition is established right here in
- -- Convert.lhs, hence panic
+ -- Convert.hs, hence panic
w8ToString :: [Word8] -> String
w8ToString ws = map (\w -> chr (fromIntegral w)) ws
diff --git a/compiler/hsSyn/HsDecls.hs b/compiler/hsSyn/HsDecls.hs
index 9f78a2b8b2..5fb3249321 100644
--- a/compiler/hsSyn/HsDecls.hs
+++ b/compiler/hsSyn/HsDecls.hs
@@ -370,7 +370,7 @@ Default methods
- If there is a default method name at all, it's recorded in
the ClassOpSig (in HsBinds), in the DefMeth field.
- (DefMeth is defined in Class.lhs)
+ (DefMeth is defined in Class.hs)
Source-code class decls and interface-code class decls are treated subtly
differently, which has given me a great deal of confusion over the years.
diff --git a/compiler/iface/IfaceType.hs b/compiler/iface/IfaceType.hs
index b20e674989..fed3ffc303 100644
--- a/compiler/iface/IfaceType.hs
+++ b/compiler/iface/IfaceType.hs
@@ -464,7 +464,7 @@ pprUserIfaceForAll tvs
tv_has_kind_var (_,t) = not (isEmptyUniqSet (ifTyVarsOfType t))
-------------------
--- See equivalent function in TypeRep.lhs
+-- See equivalent function in TypeRep.hs
pprIfaceTyList :: TyPrec -> IfaceType -> IfaceType -> SDoc
-- Given a type-level list (t1 ': t2), see if we can print
-- it in list notation [t1, ...].
diff --git a/compiler/iface/LoadIface.hs b/compiler/iface/LoadIface.hs
index 6fe805dad6..51f6bae20e 100644
--- a/compiler/iface/LoadIface.hs
+++ b/compiler/iface/LoadIface.hs
@@ -194,7 +194,7 @@ checkWiredInTyCon tc
when (mod /= nameModule tc_name)
(initIfaceTcRn (loadWiredInHomeIface tc_name))
-- Don't look for (non-existent) Float.hi when
- -- compiling Float.lhs, which mentions Float of course
+ -- compiling Float.hs, which mentions Float of course
-- A bit yukky to call initIfaceTcRn here
}
where
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
index 6d597f9437..2d7ee465f6 100644
--- a/compiler/main/DriverPipeline.hs
+++ b/compiler/main/DriverPipeline.hs
@@ -824,7 +824,7 @@ runPhase (RealPhase (Unlit sf)) input_fn dflags
-- Coverage.addTicksToBinds where we check that the filename in
-- a SrcLoc is the same as the source filenaame, the two will
-- look bogusly different. See test:
- -- libraries/hpc/tests/function/subdir/tough2.lhs
+ -- libraries/hpc/tests/function/subdir/tough2.hs
escape ('\\':cs) = '\\':'\\': escape cs
escape ('\"':cs) = '\\':'\"': escape cs
escape ('\'':cs) = '\\':'\'': escape cs
@@ -1690,7 +1690,7 @@ mkNoteObjsToLinkIntoBinary dflags dep_packages = do
-- ALL generated assembly must have this section to disable
-- executable stacks. See also
- -- compiler/nativeGen/AsmCodeGen.lhs for another instance
+ -- compiler/nativeGen/AsmCodeGen.hs for another instance
-- where we need to do this.
(if platformHasGnuNonexecStack (targetPlatform dflags)
then text ".section .note.GNU-stack,\"\",@progbits\n"
diff --git a/compiler/main/Finder.hs b/compiler/main/Finder.hs
index 2bfb2833b6..7fde4c2460 100644
--- a/compiler/main/Finder.hs
+++ b/compiler/main/Finder.hs
@@ -302,7 +302,7 @@ findPackageModule hsc_env mod = do
-- | Look up the interface file associated with module @mod@. This function
-- requires a few invariants to be upheld: (1) the 'Module' in question must
-- be the module identifier of the *original* implementation of a module,
--- not a reexport (this invariant is upheld by @Packages.lhs@) and (2)
+-- not a reexport (this invariant is upheld by @Packages.hs@) and (2)
-- the 'PackageConfig' must be consistent with the package key in the 'Module'.
-- The redundancy is to avoid an extra lookup in the package state
-- for the appropriate config.
diff --git a/compiler/main/GHC.hs b/compiler/main/GHC.hs
index a17f3a9593..0848ac2d6e 100644
--- a/compiler/main/GHC.hs
+++ b/compiler/main/GHC.hs
@@ -1185,7 +1185,7 @@ getGRE = withSession $ \hsc_env-> return $ ic_rn_gbl_env (hsc_IC hsc_env)
-- -----------------------------------------------------------------------------
-{- ToDo: Move the primary logic here to compiler/main/Packages.lhs
+{- ToDo: Move the primary logic here to compiler/main/Packages.hs
-- | Return all /external/ modules available in the package database.
-- Modules from the current session (i.e., from the 'HomePackageTable') are
-- not included. This includes module names which are reexported by packages.
diff --git a/compiler/main/HscTypes.hs b/compiler/main/HscTypes.hs
index 3b28635028..1965afa68b 100644
--- a/compiler/main/HscTypes.hs
+++ b/compiler/main/HscTypes.hs
@@ -1063,7 +1063,7 @@ data ModGuts
-- ^ Family instances declared in this module
mg_patsyns :: ![PatSyn], -- ^ Pattern synonyms declared in this module
mg_rules :: ![CoreRule], -- ^ Before the core pipeline starts, contains
- -- See Note [Overall plumbing for rules] in Rules.lhs
+ -- See Note [Overall plumbing for rules] in Rules.hs
mg_binds :: !CoreProgram, -- ^ Bindings for this module
mg_foreign :: !ForeignStubs, -- ^ Foreign exports declared in this module
mg_warns :: !Warnings, -- ^ Warnings declared in the module
@@ -2706,7 +2706,7 @@ data HsParsedModule = HsParsedModule {
* *
************************************************************************
-This stuff is in here, rather than (say) in Linker.lhs, because the Linker.lhs
+This stuff is in here, rather than (say) in Linker.hs, because the Linker.hs
stuff is the *dynamic* linker, and isn't present in a stage-1 compiler
-}
diff --git a/compiler/main/TidyPgm.hs b/compiler/main/TidyPgm.hs
index 4940f9d76e..1c72130365 100644
--- a/compiler/main/TidyPgm.hs
+++ b/compiler/main/TidyPgm.hs
@@ -1263,7 +1263,7 @@ tidyTopIdInfo dflags rhs_tidy_env name orig_rhs tidy_rhs idinfo show_unfold caf_
-- the function returns bottom
-- In this case, show_unfold will be false (we don't expose unfoldings
-- for bottoming functions), but we might still have a worker/wrapper
- -- split (see Note [Worker-wrapper for bottoming functions] in WorkWrap.lhs
+ -- split (see Note [Worker-wrapper for bottoming functions] in WorkWrap.hs
--------- Arity ------------
-- Usually the Id will have an accurate arity on it, because
diff --git a/compiler/nativeGen/PIC.hs b/compiler/nativeGen/PIC.hs
index 6326a8bdaf..d4739cb7d9 100644
--- a/compiler/nativeGen/PIC.hs
+++ b/compiler/nativeGen/PIC.hs
@@ -745,7 +745,7 @@ initializePicBase_ppc _ _ _ _
-- call 1f
-- 1: popl %picReg
-- addl __GLOBAL_OFFSET_TABLE__+.-1b, %picReg
--- (See PprMach.lhs)
+-- (See PprMach.hs)
initializePicBase_x86
:: Arch -> OS -> Reg
diff --git a/compiler/nativeGen/PPC/CodeGen.hs b/compiler/nativeGen/PPC/CodeGen.hs
index 63a7c18c7d..e547ab6c95 100644
--- a/compiler/nativeGen/PPC/CodeGen.hs
+++ b/compiler/nativeGen/PPC/CodeGen.hs
@@ -890,7 +890,7 @@ genCCall'
But there are substantial differences:
* The number of registers used for parameter passing and the exact set of
- nonvolatile registers differs (see MachRegs.lhs).
+ nonvolatile registers differs (see MachRegs.hs).
* On Darwin, stack space is always reserved for parameters, even if they are
passed in registers. The called routine may choose to save parameters from
registers to the corresponding space on the stack.
diff --git a/compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs b/compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
index eba2e43149..756980aefe 100644
--- a/compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
+++ b/compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
@@ -70,7 +70,7 @@ accSqueeze count maxCount squeeze ufm = acc count (eltsUFM ufm)
~~~~~~~~~~~~~~~~~~~~
BL 2007/09
Doing a nice fold over the UniqSet makes trivColorable use
-32% of total compile time and 42% of total alloc when compiling SHA1.lhs from darcs.
+32% of total compile time and 42% of total alloc when compiling SHA1.hs from darcs.
Therefore the UniqFM is made non-abstract and we use custom fold.
MS 2010/04
@@ -78,7 +78,7 @@ When converting UniqFM to use Data.IntMap, the fold cannot use UniqFM internal
representation any more. But it is imperative that the assSqueeze stops
the folding if the count gets greater or equal to maxCount. We thus convert
UniqFM to a (lazy) list, do the fold and stops if necessary, which was
-the most efficient variant tried. Benchmark compiling 10-times SHA1.lhs follows.
+the most efficient variant tried. Benchmark compiling 10-times SHA1.hs follows.
(original = previous implementation, folding = fold of the whole UFM,
lazyFold = the current implementation,
hackFold = using internal representation of Data.IntMap)
diff --git a/compiler/prelude/PrelRules.hs b/compiler/prelude/PrelRules.hs
index 6807b1c79f..03df3b6f9d 100644
--- a/compiler/prelude/PrelRules.hs
+++ b/compiler/prelude/PrelRules.hs
@@ -1003,7 +1003,7 @@ builtinIntegerRules =
rule_unop "complementInteger" complementIntegerName complement,
rule_Int_binop "shiftLInteger" shiftLIntegerName shiftL,
rule_Int_binop "shiftRInteger" shiftRIntegerName shiftR,
- -- See Note [Integer division constant folding] in libraries/base/GHC/Real.lhs
+ -- See Note [Integer division constant folding] in libraries/base/GHC/Real.hs
rule_divop_one "quotInteger" quotIntegerName quot,
rule_divop_one "remInteger" remIntegerName rem,
rule_divop_one "divInteger" divIntegerName div,
@@ -1134,7 +1134,7 @@ match_inline (Type _ : e : _)
match_inline _ = Nothing
--- See Note [magicDictId magic] in `basicTypes/MkId.lhs`
+-- See Note [magicDictId magic] in `basicTypes/MkId.hs`
-- for a description of what is going on here.
match_magicDict :: [Expr CoreBndr] -> Maybe (Expr CoreBndr)
match_magicDict [Type _, Var wrap `App` Type a `App` Type _ `App` f, x, y ]
diff --git a/compiler/prelude/PrimOp.hs b/compiler/prelude/PrimOp.hs
index 1b7e314fc7..1c9b49ecef 100644
--- a/compiler/prelude/PrimOp.hs
+++ b/compiler/prelude/PrimOp.hs
@@ -185,7 +185,7 @@ A @Word#@ is an unsigned @Int#@.
@decodeDouble#@ is given w/ Integer-stuff (it's similar).
Decoding of floating-point numbers is sorta Integer-related. Encoding
-is done with plain ccalls now (see PrelNumExtra.lhs).
+is done with plain ccalls now (see PrelNumExtra.hs).
A @Weak@ Pointer is created by the @mkWeak#@ primitive:
@@ -483,7 +483,7 @@ primOpOkForSideEffects op
{-
Note [primOpIsCheap]
~~~~~~~~~~~~~~~~~~~~
-@primOpIsCheap@, as used in \tr{SimplUtils.lhs}. For now (HACK
+@primOpIsCheap@, as used in \tr{SimplUtils.hs}. For now (HACK
WARNING), we just borrow some other predicates for a
what-should-be-good-enough test. "Cheap" means willing to call it more
than once, and/or push it inside a lambda. The latter could change the
diff --git a/compiler/prelude/TysPrim.hs b/compiler/prelude/TysPrim.hs
index e8542eb670..298103c4fd 100644
--- a/compiler/prelude/TysPrim.hs
+++ b/compiler/prelude/TysPrim.hs
@@ -330,7 +330,7 @@ constraintKindTyCon = mkKindTyCon constraintKindTyConName superKind
-- ... and now their names
-- If you edit these, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
superKindTyConName = mkPrimTyConName (fsLit "BOX") superKindTyConKey superKindTyCon
anyKindTyConName = mkPrimTyConName (fsLit "AnyK") anyKindTyConKey anyKindTyCon
liftedTypeKindTyConName = mkPrimTyConName (fsLit "*") liftedTypeKindTyConKey liftedTypeKindTyCon
@@ -528,7 +528,7 @@ realWorldStatePrimTy = mkStatePrimTy realWorldTy -- State# RealWorld
{-
Note: the ``state-pairing'' types are not truly primitive, so they are
-defined in \tr{TysWiredIn.lhs}, not here.
+defined in \tr{TysWiredIn.hs}, not here.
************************************************************************
* *
diff --git a/compiler/rename/RnEnv.hs b/compiler/rename/RnEnv.hs
index f7a450414d..b6f12a7dfc 100644
--- a/compiler/rename/RnEnv.hs
+++ b/compiler/rename/RnEnv.hs
@@ -1398,7 +1398,7 @@ newLocalBndrRn :: Located RdrName -> RnM Name
newLocalBndrRn (L loc rdr_name)
| Just name <- isExact_maybe rdr_name
= return name -- This happens in code generated by Template Haskell
- -- See Note [Binders in Template Haskell] in Convert.lhs
+ -- See Note [Binders in Template Haskell] in Convert.hs
| otherwise
= do { unless (isUnqual rdr_name)
(addErrAt loc (badQualBndrErr rdr_name))
diff --git a/compiler/rename/RnPat.hs b/compiler/rename/RnPat.hs
index cdd180bc22..067be99803 100644
--- a/compiler/rename/RnPat.hs
+++ b/compiler/rename/RnPat.hs
@@ -240,7 +240,7 @@ newPatName (LetMk is_top fix_env) rdr_name
-- however, this binding seems to work, and it only exists for
-- the duration of the patterns and the continuation;
-- then the top-level name is added to the global env
- -- before going on to the RHSes (see RnSource.lhs).
+ -- before going on to the RHSes (see RnSource.hs).
{-
Note [View pattern usage]
diff --git a/compiler/rename/RnSplice.hs b/compiler/rename/RnSplice.hs
index e0ebd300ed..e9cf0a5e56 100644
--- a/compiler/rename/RnSplice.hs
+++ b/compiler/rename/RnSplice.hs
@@ -413,7 +413,7 @@ showSplice what before after =
-- | The splice data to be logged
--
--- duplicates code in TcSplice.lhs
+-- duplicates code in TcSplice.hs
data SpliceInfo
= SpliceInfo
{ spliceIsDeclaration :: Bool
@@ -426,7 +426,7 @@ data SpliceInfo
-- | outputs splice information for 2 flags which have different output formats:
-- `-ddump-splices` and `-dth-dec-file`
--
--- This duplicates code in TcSplice.lhs
+-- This duplicates code in TcSplice.hs
traceSplice :: SpliceInfo -> TcM ()
traceSplice sd = do
loc <- case sd of
diff --git a/compiler/simplCore/FloatIn.hs b/compiler/simplCore/FloatIn.hs
index 2f1b31874e..5390c48dd3 100644
--- a/compiler/simplCore/FloatIn.hs
+++ b/compiler/simplCore/FloatIn.hs
@@ -83,7 +83,7 @@ The fix is
to let bind the algebraic case scrutinees (done, I think) and
the case alternatives (except the ones with an
unboxed type)(not done, I think). This is best done in the
-SetLevels.lhs module, which tags things with their level numbers.
+SetLevels.hs module, which tags things with their level numbers.
\item
do the full laziness pass (floating lets outwards).
\item
diff --git a/compiler/simplCore/OccurAnal.hs b/compiler/simplCore/OccurAnal.hs
index c15026c539..976295b6b4 100644
--- a/compiler/simplCore/OccurAnal.hs
+++ b/compiler/simplCore/OccurAnal.hs
@@ -283,7 +283,7 @@ But what is the graph? NOT the same graph as was used for Note
'f' that is *always* inlined if it is applicable. We do *not* disable
rules for loop-breakers. It's up to whoever makes the rules to make
sure that the rules themselves always terminate. See Note [Rules for
-recursive functions] in Simplify.lhs
+recursive functions] in Simplify.hs
Hence, if
f's RHS (or its INLINE template if it has one) mentions g, and
diff --git a/compiler/simplCore/SetLevels.hs b/compiler/simplCore/SetLevels.hs
index c3ee112de4..0d7ba70111 100644
--- a/compiler/simplCore/SetLevels.hs
+++ b/compiler/simplCore/SetLevels.hs
@@ -827,7 +827,7 @@ lvlLamBndrs env lvl bndrs
is_major bndr = isId bndr && not (isProbablyOneShotLambda bndr)
-- The "probably" part says "don't float things out of a
-- probable one-shot lambda"
- -- See Note [Computing one-shot info] in Demand.lhs
+ -- See Note [Computing one-shot info] in Demand.hs
lvlBndrs :: LevelEnv -> Level -> [CoreBndr] -> (LevelEnv, [LevelledBndr])
@@ -1050,7 +1050,7 @@ newPolyBndrs dest_lvl
add_subst env (v, v') = extendIdSubst env v (mkVarApps (Var v') abs_vars)
add_id env (v, v') = extendVarEnv env v ((v':abs_vars), mkVarApps (Var v') abs_vars)
- mk_poly_bndr bndr uniq = transferPolyIdInfo bndr abs_vars $ -- Note [transferPolyIdInfo] in Id.lhs
+ mk_poly_bndr bndr uniq = transferPolyIdInfo bndr abs_vars $ -- Note [transferPolyIdInfo] in Id.hs
mkSysLocal (mkFastString str) uniq poly_ty
where
str = "poly_" ++ occNameString (getOccName bndr)
diff --git a/compiler/simplCore/SimplCore.hs b/compiler/simplCore/SimplCore.hs
index 8acea27df4..3e820844ca 100644
--- a/compiler/simplCore/SimplCore.hs
+++ b/compiler/simplCore/SimplCore.hs
@@ -296,7 +296,7 @@ getCoreToDo dflags
simpl_phase 0 ["post-liberate-case"] max_iter
]), -- Run the simplifier after LiberateCase to vastly
-- reduce the possiblility of shadowing
- -- Reason: see Note [Shadowing] in SpecConstr.lhs
+ -- Reason: see Note [Shadowing] in SpecConstr.hs
runWhen spec_constr CoreDoSpecConstr,
@@ -631,7 +631,7 @@ simplifyPgmIO pass@(CoreDoSimplify max_iterations mode)
(pprCoreBindings tagged_binds);
-- Get any new rules, and extend the rule base
- -- See Note [Overall plumbing for rules] in Rules.lhs
+ -- See Note [Overall plumbing for rules] in Rules.hs
-- We need to do this regularly, because simplification can
-- poke on IdInfo thunks, which in turn brings in new rules
-- behind the scenes. Otherwise there's a danger we'll simply
diff --git a/compiler/simplCore/SimplUtils.hs b/compiler/simplCore/SimplUtils.hs
index 6bb290e6fb..4c469d111f 100644
--- a/compiler/simplCore/SimplUtils.hs
+++ b/compiler/simplCore/SimplUtils.hs
@@ -1488,7 +1488,7 @@ abstractFloats main_tvs body_env body
= do { uniq <- getUniqueM
; let poly_name = setNameUnique (idName var) uniq -- Keep same name
poly_ty = mkForAllTys tvs_here (idType var) -- But new type of course
- poly_id = transferPolyIdInfo var tvs_here $ -- Note [transferPolyIdInfo] in Id.lhs
+ poly_id = transferPolyIdInfo var tvs_here $ -- Note [transferPolyIdInfo] in Id.hs
mkLocalId poly_name poly_ty
; return (poly_id, mkTyApps (Var poly_id) (mkTyVarTys tvs_here)) }
-- In the olden days, it was crucial to copy the occInfo of the original var,
@@ -1621,7 +1621,7 @@ alternative; this picks up the common cases
b) some branches equal to the DEFAULT (which occurs first)
The case where Combine Identical Alternatives transformation showed up
-was like this (base/Foreign/C/Err/Error.lhs):
+was like this (base/Foreign/C/Err/Error.hs):
x | p `is` 1 -> e1
| p `is` 2 -> e2
diff --git a/compiler/simplCore/Simplify.hs b/compiler/simplCore/Simplify.hs
index 3614bb3f09..933fa7a884 100644
--- a/compiler/simplCore/Simplify.hs
+++ b/compiler/simplCore/Simplify.hs
@@ -52,7 +52,7 @@ import ErrUtils
{-
The guts of the simplifier is in this module, but the driver loop for
-the simplifier is in SimplCore.lhs.
+the simplifier is in SimplCore.hs.
-----------------------------------------
@@ -2158,7 +2158,7 @@ simplAlt env scrut' _ case_bndr' cont' (DataAlt con, vs, rhs)
--
-- We really must record that b is already evaluated so that we don't
-- go and re-evaluate it when constructing the result.
- -- See Note [Data-con worker strictness] in MkId.lhs
+ -- See Note [Data-con worker strictness] in MkId.hs
add_evals the_strs
= go vs the_strs
where
@@ -2627,7 +2627,7 @@ Note [Small alternative rhs]
It is worth checking for a small RHS because otherwise we
get extra let bindings that may cause an extra iteration of the simplifier to
inline back in place. Quite often the rhs is just a variable or constructor.
-The Ord instance of Maybe in PrelMaybe.lhs, for example, took several extra
+The Ord instance of Maybe in PrelMaybe.hs, for example, took several extra
iterations because the version with the let bindings looked big, and so wasn't
inlined, but after the join points had been inlined it looked smaller, and so
was inlined.
diff --git a/compiler/simplStg/UnariseStg.hs b/compiler/simplStg/UnariseStg.hs
index 87ce0ed93f..0fc6ccf226 100644
--- a/compiler/simplStg/UnariseStg.hs
+++ b/compiler/simplStg/UnariseStg.hs
@@ -63,7 +63,7 @@ ubxTupleId0 = dataConWorkId (tupleCon UnboxedTuple 0)
unarise :: UniqSupply -> [StgBinding] -> [StgBinding]
unarise us binds = zipWith (\us -> unariseBinding us init_env) (listSplitUniqSupply us) binds
- where -- See Note [Nullary unboxed tuple] in Type.lhs
+ where -- See Note [Nullary unboxed tuple] in Type.hs
init_env = unitVarEnv ubxTupleId0 [realWorldPrimId]
unariseBinding :: UniqSupply -> UnariseEnv -> StgBinding -> StgBinding
diff --git a/compiler/specialise/SpecConstr.hs b/compiler/specialise/SpecConstr.hs
index 9b24604404..64e2cd1c14 100644
--- a/compiler/specialise/SpecConstr.hs
+++ b/compiler/specialise/SpecConstr.hs
@@ -1836,13 +1836,13 @@ argToPat env in_scope val_env (Tick _ arg) arg_occ
argToPat env in_scope val_env (Let _ arg) arg_occ
= argToPat env in_scope val_env arg arg_occ
- -- See Note [Matching lets] in Rule.lhs
+ -- See Note [Matching lets] in Rule.hs
-- Look through let expressions
-- e.g. f (let v = rhs in (v,w))
-- Here we can specialise for f (v,w)
-- because the rule-matcher will look through the let.
-{- Disabled; see Note [Matching cases] in Rule.lhs
+{- Disabled; see Note [Matching cases] in Rule.hs
argToPat env in_scope val_env (Case scrut _ _ [(_, _, rhs)]) arg_occ
| exprOkForSpeculation scrut -- See Note [Matching cases] in Rule.hhs
= argToPat env in_scope val_env rhs arg_occ
diff --git a/compiler/stgSyn/CoreToStg.hs b/compiler/stgSyn/CoreToStg.hs
index 20bbf3b729..d76f256900 100644
--- a/compiler/stgSyn/CoreToStg.hs
+++ b/compiler/stgSyn/CoreToStg.hs
@@ -89,7 +89,7 @@ import Control.Monad (liftM, ap)
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
-- In this pass we also collect information on which CAFs are live for
--- constructing SRTs (see SRT.lhs).
+-- constructing SRTs (see SRT.hs).
--
-- A top-level Id has CafInfo, which is
--
@@ -441,7 +441,7 @@ coreToStgExpr (Case scrut bndr _ alts) = do
vars_alt (con, binders, rhs)
| DataAlt c <- con, c == unboxedUnitDataCon
= -- This case is a bit smelly.
- -- See Note [Nullary unboxed tuple] in Type.lhs
+ -- See Note [Nullary unboxed tuple] in Type.hs
-- where a nullary tuple is mapped to (State# World#)
ASSERT( null binders )
do { (rhs2, rhs_fvs, rhs_escs) <- coreToStgExpr rhs
diff --git a/compiler/stranal/DmdAnal.hs b/compiler/stranal/DmdAnal.hs
index 9d9af64a7e..27fa35fba0 100644
--- a/compiler/stranal/DmdAnal.hs
+++ b/compiler/stranal/DmdAnal.hs
@@ -1086,7 +1086,7 @@ extendSigsWithLam env id
= env
findBndrDmd :: AnalEnv -> Bool -> DmdType -> Id -> (DmdType, Demand)
--- See Note [Trimming a demand to a type] in Demand.lhs
+-- See Note [Trimming a demand to a type] in Demand.hs
findBndrDmd env arg_of_dfun dmd_ty id
= (dmd_ty', dmd')
where
diff --git a/compiler/typecheck/FamInst.hs b/compiler/typecheck/FamInst.hs
index 117ef7b364..0f4d97f17f 100644
--- a/compiler/typecheck/FamInst.hs
+++ b/compiler/typecheck/FamInst.hs
@@ -315,7 +315,7 @@ tcExtendLocalFamInstEnv fam_insts thing_inside
-- Check that the proposed new instance is OK,
-- and then add it to the home inst env
-- This must be lazy in the fam_inst arguments, see Note [Lazy axiom match]
--- in FamInstEnv.lhs
+-- in FamInstEnv.hs
addLocalFamInst :: (FamInstEnv,[FamInst]) -> FamInst -> TcM (FamInstEnv, [FamInst])
addLocalFamInst (home_fie, my_fis) fam_inst
-- home_fie includes home package and this module
diff --git a/compiler/typecheck/TcEvidence.hs b/compiler/typecheck/TcEvidence.hs
index b6d5d6f5d2..372c70ad28 100644
--- a/compiler/typecheck/TcEvidence.hs
+++ b/compiler/typecheck/TcEvidence.hs
@@ -139,7 +139,7 @@ data TcCoercion
| TcForAllCo TyVar TcCoercion
| TcCoVarCo EqVar
| TcAxiomInstCo (CoAxiom Branched) Int [TcCoercion] -- Int specifies branch number
- -- See [CoAxiom Index] in Coercion.lhs
+ -- See [CoAxiom Index] in Coercion.hs
-- This is number of types and coercions are expected to match to CoAxiomRule
-- (i.e., the CoAxiomRules are always fully saturated)
| TcAxiomRuleCo CoAxiomRule [TcType] [TcCoercion]
diff --git a/compiler/typecheck/TcExpr.hs b/compiler/typecheck/TcExpr.hs
index 9a4607b123..7f7b6a1c4f 100644
--- a/compiler/typecheck/TcExpr.hs
+++ b/compiler/typecheck/TcExpr.hs
@@ -1316,7 +1316,7 @@ for the Lift class in TH.Syntax, because that can lead to overlapping-instance
errors in a polymorphic situation.
If this check fails (which isn't impossible) we get another chance; see
-Note [Converting strings] in Convert.lhs
+Note [Converting strings] in Convert.hs
Local record selectors
~~~~~~~~~~~~~~~~~~~~~~
diff --git a/compiler/typecheck/TcForeign.hs b/compiler/typecheck/TcForeign.hs
index b38716231a..2ce6f8630e 100644
--- a/compiler/typecheck/TcForeign.hs
+++ b/compiler/typecheck/TcForeign.hs
@@ -134,7 +134,7 @@ normaliseFfiType' env ty0 = go initRecTc ty0
| isNewTyCon tc -- Expand newtypes
, Just rec_nts' <- checkRecTc rec_nts tc
- -- See Note [Expanding newtypes] in TyCon.lhs
+ -- See Note [Expanding newtypes] in TyCon.hs
-- We can't just use isRecursiveTyCon; sometimes recursion is ok:
-- newtype T = T (Ptr T)
-- Here, we don't reject the type for being recursive.
diff --git a/compiler/typecheck/TcInteract.hs b/compiler/typecheck/TcInteract.hs
index aef934c86d..ee4ac6ad8c 100644
--- a/compiler/typecheck/TcInteract.hs
+++ b/compiler/typecheck/TcInteract.hs
@@ -1212,7 +1212,7 @@ constraint right away. This avoids two dangers
with the same thing later, and produce the same equality
again --> termination worries.
-To achieve this required some refactoring of FunDeps.lhs (nicer
+To achieve this required some refactoring of FunDeps.hs (nicer
now!).
-}
diff --git a/compiler/typecheck/TcPat.hs b/compiler/typecheck/TcPat.hs
index f2a1341b2a..14c5dbf151 100644
--- a/compiler/typecheck/TcPat.hs
+++ b/compiler/typecheck/TcPat.hs
@@ -677,7 +677,7 @@ and a case expression
case x :: Map (Int, c) w of MapPair m -> ...
-As explained by [Wrappers for data instance tycons] in MkIds.lhs, the
+As explained by [Wrappers for data instance tycons] in MkIds.hs, the
worker/wrapper types for MapPair are
$WMapPair :: forall a b v. Map a (Map a b v) -> Map (a, b) v
diff --git a/compiler/typecheck/TcSplice.hs b/compiler/typecheck/TcSplice.hs
index 0850a0ec41..fa777b30f9 100644
--- a/compiler/typecheck/TcSplice.hs
+++ b/compiler/typecheck/TcSplice.hs
@@ -978,7 +978,7 @@ showSplice isDec what before after =
-- | The splice data to be logged
--
--- duplicates code in RnSplice.lhs
+-- duplicates code in RnSplice.hs
data SpliceInfo
= SpliceInfo
{ spliceIsDeclaration :: Bool
@@ -991,7 +991,7 @@ data SpliceInfo
-- | outputs splice information for 2 flags which have different output formats:
-- `-ddump-splices` and `-dth-dec-file`
--
--- This duplicates code in RnSplice.lhs
+-- This duplicates code in RnSplice.hs
traceSplice :: SpliceInfo -> TcM ()
traceSplice sd = do
loc <- case sd of
diff --git a/compiler/typecheck/TcTyClsDecls.hs b/compiler/typecheck/TcTyClsDecls.hs
index 8f278fc3ae..034ff6f6ee 100644
--- a/compiler/typecheck/TcTyClsDecls.hs
+++ b/compiler/typecheck/TcTyClsDecls.hs
@@ -1476,7 +1476,7 @@ checkValidTyCon tc
get_fields con = dataConFieldLabels con `zip` repeat con
-- dataConFieldLabels may return the empty list, which is fine
- -- See Note [GADT record selectors] in MkId.lhs
+ -- See Note [GADT record selectors] in MkId.hs
-- We must check (a) that the named field has the same
-- type in each constructor
-- (b) that those constructors have the same result type
diff --git a/compiler/typecheck/TcType.hs b/compiler/typecheck/TcType.hs
index 1cd2b00602..32120650c6 100644
--- a/compiler/typecheck/TcType.hs
+++ b/compiler/typecheck/TcType.hs
@@ -256,8 +256,8 @@ A TcRhoType has no foralls or contexts at the top, or to the right of an arrow
TyVarDetails gives extra info about type variables, used during type
checking. It's attached to mutable type variables only.
-It's knot-tied back to Var.lhs. There is no reason in principle
-why Var.lhs shouldn't actually have the definition, but it "belongs" here.
+It's knot-tied back to Var.hs. There is no reason in principle
+why Var.hs shouldn't actually have the definition, but it "belongs" here.
Note [Signature skolems]
~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/compiler/types/CoAxiom.hs b/compiler/types/CoAxiom.hs
index 78cc6ba450..cd8607a4bb 100644
--- a/compiler/types/CoAxiom.hs
+++ b/compiler/types/CoAxiom.hs
@@ -231,7 +231,7 @@ of the branches.
-- | A 'CoAxiom' is a \"coercion constructor\", i.e. a named equality axiom.
-- If you edit this type, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
data CoAxiom br
= CoAxiom -- Type equality axiom.
{ co_ax_unique :: Unique -- unique identifier
diff --git a/compiler/types/Coercion.hs b/compiler/types/Coercion.hs
index e55d52650b..c191f19ee4 100644
--- a/compiler/types/Coercion.hs
+++ b/compiler/types/Coercion.hs
@@ -123,7 +123,7 @@ import Control.Arrow ( first )
-- of two types.
-- If you edit this type, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
data Coercion
-- Each constructor has a "role signature", indicating the way roles are
-- propagated through coercions. P, N, and R stand for coercions of the
@@ -200,7 +200,7 @@ data Coercion
deriving (Data.Data, Data.Typeable)
-- If you edit this type, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
data LeftOrRight = CLeft | CRight
deriving( Eq, Data.Data, Data.Typeable )
@@ -942,7 +942,7 @@ mkAppCo :: Coercion -> Coercion -> Coercion
mkAppCo co1 co2 = mkAppCoFlexible co1 Nominal co2
-- Note, mkAppCo is careful to maintain invariants regarding
-- where Refl constructors appear; see the comments in the definition
--- of Coercion and the Note [Refl invariant] in types/TypeRep.lhs.
+-- of Coercion and the Note [Refl invariant] in types/TypeRep.hs.
-- | Apply a 'Coercion' to another 'Coercion'.
-- The second 'Coercion's role is given, making this more flexible than
diff --git a/compiler/types/Kind.hs b/compiler/types/Kind.hs
index a3e30a693a..e65c834efc 100644
--- a/compiler/types/Kind.hs
+++ b/compiler/types/Kind.hs
@@ -214,7 +214,7 @@ isSubKind :: Kind -> Kind -> Bool
-- under arrrows or type constructors
-- If you edit this function, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
isSubKind k1@(TyConApp kc1 k1s) k2@(TyConApp kc2 k2s)
| isPromotedTyCon kc1 || isPromotedTyCon kc2
-- handles promoted kinds (List *, Nat, etc.)
@@ -230,7 +230,7 @@ isSubKindCon :: TyCon -> TyCon -> Bool
-- ^ @kc1 \`isSubKindCon\` kc2@ checks that @kc1@ <: @kc2@
-- If you edit this function, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
isSubKindCon kc1 kc2
| kc1 == kc2 = True
| isOpenTypeKindCon kc2 = isSubOpenTypeKindCon kc1
diff --git a/compiler/types/OptCoercion.hs b/compiler/types/OptCoercion.hs
index c889f8a7c6..49217de4b1 100644
--- a/compiler/types/OptCoercion.hs
+++ b/compiler/types/OptCoercion.hs
@@ -535,7 +535,7 @@ False) and that all is OK. But, all is not OK: we want to use the first branch
of the axiom in this case, not the second. The problem is that the parameters
of the first branch can unify with the supplied coercions, thus meaning that
the first branch should be taken. See also Note [Branched instance checking]
-in types/FamInstEnv.lhs.
+in types/FamInstEnv.hs.
Note [Why call checkAxInstCo during optimisation]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/compiler/types/TyCon.hs b/compiler/types/TyCon.hs
index 42835452f8..2d8a27721f 100644
--- a/compiler/types/TyCon.hs
+++ b/compiler/types/TyCon.hs
@@ -156,7 +156,7 @@ Note [Type synonym families]
Note [Data type families]
~~~~~~~~~~~~~~~~~~~~~~~~~
-See also Note [Wrappers for data instance tycons] in MkId.lhs
+See also Note [Wrappers for data instance tycons] in MkId.hs
* Data type families are declared thus
data family T a :: *
@@ -323,7 +323,7 @@ N.
-- such as those for function and tuple types.
-- If you edit this type, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
data TyCon
= -- | The function type constructor, @(->)@
FunTyCon {
diff --git a/compiler/types/Type.hs b/compiler/types/Type.hs
index edc3067063..c1b3930346 100644
--- a/compiler/types/Type.hs
+++ b/compiler/types/Type.hs
@@ -603,7 +603,7 @@ we want
not ([a], a -> a)
The reason is that we then get better (shorter) type signatures in
-interfaces. Notably this plays a role in tcTySigs in TcBinds.lhs.
+interfaces. Notably this plays a role in tcTySigs in TcBinds.hs.
Representation types
@@ -816,7 +816,7 @@ applyTys :: Type -> [KindOrType] -> Type
-- there are more type args than foralls in 'undefined's type.
-- If you edit this function, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
applyTys ty args = applyTysD empty ty args
applyTysD :: SDoc -> Type -> [Type] -> Type -- Debug version
@@ -1321,7 +1321,7 @@ cmpTypesX _ _ [] = GT
-------------
cmpTc :: TyCon -> TyCon -> Ordering
-- Here we treat * and Constraint as equal
--- See Note [Kind Constraint and kind *] in Kinds.lhs
+-- See Note [Kind Constraint and kind *] in Kinds.hs
--
-- Also we treat OpenTypeKind as equal to either * or #
-- See Note [Comparison with OpenTypeKind]
diff --git a/compiler/types/TypeRep.hs b/compiler/types/TypeRep.hs
index 03faf5017d..77e998d490 100644
--- a/compiler/types/TypeRep.hs
+++ b/compiler/types/TypeRep.hs
@@ -94,7 +94,7 @@ import qualified Data.Data as Data hiding ( TyCon )
-- | The key representation of types within the compiler
-- If you edit this type, you may need to update the GHC formalism
--- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
+-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
data Type
= TyVarTy Var -- ^ Vanilla type or kind variable (*never* a coercion variable)
diff --git a/compiler/types/Unify.hs b/compiler/types/Unify.hs
index 02d3792c43..0bfcfabcf8 100644
--- a/compiler/types/Unify.hs
+++ b/compiler/types/Unify.hs
@@ -232,7 +232,7 @@ match_kind menv subst k1 k2
--
-- In fact I have no example in mind that *requires* this kind-matching
-- to instantiate template type variables, but it seems like the right
--- thing to do. C.f. Note [Matching variable types] in Rules.lhs
+-- thing to do. C.f. Note [Matching variable types] in Rules.hs
--------------
match_tys :: MatchEnv -> TvSubstEnv -> [Type] -> [Type] -> Maybe TvSubstEnv
diff --git a/compiler/utils/Binary.hs b/compiler/utils/Binary.hs
index 9b0d0cdca1..f889a4c067 100644
--- a/compiler/utils/Binary.hs
+++ b/compiler/utils/Binary.hs
@@ -473,7 +473,7 @@ instance Binary DiffTime where
-- we just change this instance to be portable like the rest of the
-- instances? (binary package has code to steal for that)
--
--- yes, we need Binary Integer and Binary Rational in basicTypes/Literal.lhs
+-- yes, we need Binary Integer and Binary Rational in basicTypes/Literal.hs
instance Binary Integer where
-- XXX This is hideous
diff --git a/compiler/utils/ExtsCompat46.hs b/compiler/utils/ExtsCompat46.hs
index 14ffe72431..5d40655a16 100644
--- a/compiler/utils/ExtsCompat46.hs
+++ b/compiler/utils/ExtsCompat46.hs
@@ -290,4 +290,4 @@ sameTVar# a b = E.sameTVar# a b
sameMVar# :: MVar# s a -> MVar# s a -> Bool
sameMVar# a b = E.sameMVar# a b
-#endif \ No newline at end of file
+#endif