[GHC] #9986: lhs -> hs fallout
GHC
ghc-devs at haskell.org
Wed Jan 14 13:09:01 UTC 2015
#9986: lhs -> hs fallout
-------------------------------------+-------------------------------------
Reporter: jstolarek | Owner:
Type: task | Status: new
Priority: normal | Milestone:
Component: | Version: 7.9
Documentation | Operating System: Unknown/Multiple
Keywords: | Type of failure: None/Unknown
Architecture: | Blocked By:
Unknown/Multiple | Related Tickets:
Test Case: |
Blocking: |
Differential Revisions: |
-------------------------------------+-------------------------------------
It looks that during .lhs -> .hs switch the comments were not updated.
Grepping for ".lhs" reveals 117 lines where .lhs files are referenced:
{{{
basicTypes/OccName.hs:154:-- see also: Note [Data Constructor Naming] in
DataCon.lhs
basicTypes/BasicTypes.hs:447:-- instance. See Note [Safe Haskell
isSafeOverlap] (in `InstEnv.lhs`) for a
basicTypes/BasicTypes.hs:874: Note [Expanding variables] in
Rules.lhs.
basicTypes/Id.hs:579:-- See Note [Specialisations and RULES in IdInfo] in
IdInfo.lhs
basicTypes/Id.hs:689: -- Another good example is in fill_in in
PrelPack.lhs. We should be able to
basicTypes/DataCon.hs:407: -- See also Note [Data-con
worker strictness] in MkId.lhs
basicTypes/MkId.hs:1194: See DsUtils.lhs Note [Desugaring seq (1)] and
(2) and (3)
basicTypes/Var.hs:340:-- Ids, because Id.lhs uses 'mkGlobalId' etc with
different types
basicTypes/IdInfo.hs:423:-- CafInfo is used to build Static Reference
Tables (see simplStg/SRT.lhs).
cmm/CmmBuildInfoTables.hs:201:-- Adapted from simpleStg/SRT.lhs, which
expects Id's.
cmm/cmm-notes:98:SMRep.lhs
cmm/cmm-notes:123:CodeGen.lhs
cmm/cmm-notes:124:CgBindery.lhs
cmm/cmm-notes:126:CgCase.lhs
cmm/cmm-notes:127:CgClosure.lhs
cmm/cmm-notes:128:CgCon.lhs
cmm/cmm-notes:129:CgExpr.lhs
cmm/cmm-notes:130:CgLetNoEscape.lhs
cmm/cmm-notes:132:CgHeapery.lhs
cmm/cmm-notes:135:CgMonad.lhs
cmm/cmm-notes:139:CgStackery.lhs
cmm/cmm-notes:140:CgTailCall.lhs
cmm/cmm-notes:143:ClosureInfo.lhs
codeGen/StgCmmBind.hs:744: -- CgConTbls.lhs with a description
generated from the data constructor
codeGen/StgCmmExpr.hs:704:-- stgSyn/CoreToStg.lhs). Consider this:
coreSyn/CorePrep.hs:111:9. Replace (lazy e) by e. See Note [lazyId
magic] in MkId.lhs
coreSyn/CoreUtils.hs:803:~~~~~~~~~~~~~~~~~~ in CoreUnfold.lhs
coreSyn/CoreSyn.hs:245:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
coreSyn/CoreSyn.hs:268:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
coreSyn/CoreSyn.hs:274:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
coreSyn/CoreSyn.hs:289:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
coreSyn/CoreSyn.hs:438:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
coreSyn/CoreSyn.hs:764: -- See Note [Extra args in rule
matching] in Rules.lhs
coreSyn/CoreSyn.hs:921: -- (see MkId.lhs, calls to
mkCompulsoryUnfolding).
coreSyn/CoreSyn.hs:1100:-- See Note [Expanding variables] in Rules.lhs
coreSyn/CoreSyn.hs:1256:-- See Note [GHC Formalism] in
coreSyn/CoreLint.lhs
coreSyn/CoreSyn.hs:1445:-- See Note [GHC Formalism] in
coreSyn/CoreLint.lhs
coreSyn/CoreArity.hs:612:See Note [Dictionary-like types] in TcType.lhs
for why we use
coreSyn/CoreFVs.hs:294: -- See Note [Finding rule RHS free
vars] in OccAnal.lhs
coreSyn/CoreFVs.hs:393:-- This actually happened in the defn of errorIO in
IOBase.lhs:
deSugar/DsExpr.hs:479: T (recConErr t1 "M.lhs/230/op1")
deSugar/DsExpr.hs:481: (recConErr t1 "M.lhs/230/op3")
deSugar/DsExpr.hs:486: M.lhs, line 230: missing field op1 was
evaluated
deSugar/DsExpr.hs:531: other -> recUpdError "M.lhs/230"
deSugar/DsForeign.hs:673: -- codeGen/CodeGen.lhs; however, stginit
functions have a negative impact
deSugar/Check.hs:56: @Match.lhs@ to generate code)
deSugar/Check.hs:631:tidy_eqn does more or less the same thing as @tidy@
in @Match.lhs@;
ghci/ByteCodeGen.hs:1157: -- the DataCon. See DataCon.lhs for
details.
ghci/Linker.hs:1109: -- compiler/ghci/Linker.lhs + rts/Linker.c
link the
ghc.mk:243:# Generate supporting stuff for prelude/PrimOp.lhs
hsSyn/HsDecls.hs:371: (DefMeth is defined in Class.lhs)
hsSyn/Convert.hs:884: -- Convert.lhs, hence panic
iface/IfaceType.hs:467:-- See equivalent function in TypeRep.lhs
iface/LoadIface.hs:197: -- compiling Float.lhs, which
mentions Float of course
main/HscMain.hs:356: -- - filter out the .hs/.lhs source
filename if we have one
main/TidyPgm.hs:1266: -- split (see Note [Worker-wrapper for bottoming
functions] in WorkWrap.lhs
main/GHC.hs:1182:{- ToDo: Move the primary logic here to
compiler/main/Packages.lhs
main/DriverPhases.hs:52: literate pre-processor | .lhs | -
| -
main/Finder.hs:307:-- not a reexport (this invariant is upheld by
@Packages.lhs@) and (2)
main/DriverPipeline.hs:827: --
libraries/hpc/tests/function/subdir/tough2.lhs
main/DriverPipeline.hs:1687: -- compiler/nativeGen/AsmCodeGen.lhs
for another instance
main/HscTypes.hs:1066: -- See Note
[Overall plumbing for rules] in Rules.lhs
main/HscTypes.hs:2704:This stuff is in here, rather than (say) in
Linker.lhs, because the Linker.lhs
nativeGen/PPC/CodeGen.hs:893: nonvolatile registers differs (see
MachRegs.lhs).
nativeGen/PIC.hs:748:-- (See PprMach.lhs)
nativeGen/RegAlloc/Graph/TrivColorable.hs:73:32% of total compile time and
42% of total alloc when compiling SHA1.lhs from darcs.
nativeGen/RegAlloc/Graph/TrivColorable.hs:81:the most efficient variant
tried. Benchmark compiling 10-times SHA1.lhs follows.
parser/cutils.h:9:// Out-of-line string functions, see PrimPacked.lhs
prelude/TysPrim.hs:333:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
prelude/TysPrim.hs:531:defined in \tr{TysWiredIn.lhs}, not here.
prelude/PrimOp.hs:188:is done with plain ccalls now (see
PrelNumExtra.lhs).
prelude/PrimOp.hs:486:@primOpIsCheap@, as used in \tr{SimplUtils.lhs}.
For now (HACK
prelude/PrelRules.hs:1006: -- See Note [Integer division constant
folding] in libraries/base/GHC/Real.lhs
prelude/PrelRules.hs:1137:-- See Note [magicDictId magic] in
`basicTypes/MkId.lhs`
rename/RnPat.hs:238: -- before going on to the RHSes (see
RnSource.lhs).
rename/RnEnv.hs:1374: -- See Note [Binders in Template
Haskell] in Convert.lhs
rename/RnExpr.hs:316:wired-in. See the Note about the NameSorts in
Name.lhs.
simplCore/SimplUtils.hs:1491: poly_id =
transferPolyIdInfo var tvs_here $ -- Note [transferPolyIdInfo] in Id.lhs
simplCore/SimplUtils.hs:1624:was like this (base/Foreign/C/Err/Error.lhs):
simplCore/OccurAnal.hs:286:recursive functions] in Simplify.lhs
simplCore/FloatIn.hs:86:SetLevels.lhs module, which tags things with their
level numbers.
simplCore/SetLevels.hs:830: -- See Note [Computing one-shot info] in
Demand.lhs
simplCore/SetLevels.hs:1053: mk_poly_bndr bndr uniq =
transferPolyIdInfo bndr abs_vars $ -- Note [transferPolyIdInfo] in
Id.lhs
simplCore/SimplCore.hs:299: -- Reason: see Note
[Shadowing] in SpecConstr.lhs
simplCore/SimplCore.hs:634: -- See Note [Overall plumbing
for rules] in Rules.lhs
simplCore/Simplify.hs:55:the simplifier is in SimplCore.lhs.
simplCore/Simplify.hs:2161: -- See Note [Data-con worker
strictness] in MkId.lhs
simplCore/Simplify.hs:2630:The Ord instance of Maybe in PrelMaybe.lhs, for
example, took several extra
simplStg/UnariseStg.hs:66: where -- See Note [Nullary unboxed tuple] in
Type.lhs
specialise/SpecConstr.hs:1839: -- See Note [Matching lets] in
Rule.lhs
specialise/SpecConstr.hs:1845:{- Disabled; see Note [Matching cases] in
Rule.lhs
stgSyn/CoreToStg.hs:92:-- constructing SRTs (see SRT.lhs).
stgSyn/CoreToStg.hs:444: -- See Note [Nullary unboxed tuple] in
Type.lhs
stranal/DmdAnal.hs:1089:-- See Note [Trimming a demand to a type] in
Demand.lhs
typecheck/TcForeign.hs:137: -- See Note [Expanding
newtypes] in TyCon.lhs
typecheck/FamInst.hs:327:-- in FamInstEnv.lhs
typecheck/TcExpr.hs:1321:Note [Converting strings] in Convert.lhs
typecheck/TcType.hs:259:It's knot-tied back to Var.lhs. There is no
reason in principle
typecheck/TcType.hs:260:why Var.lhs shouldn't actually have the
definition, but it "belongs" here.
typecheck/TcEvidence.hs:138: [TcCoercion] --
See [CoAxiom Index] in Coercion.lhs
typecheck/TcPat.hs:679:As explained by [Wrappers for data instance tycons]
in MkIds.lhs, the
typecheck/TcInteract.hs:1524:To achieve this required some refactoring of
FunDeps.lhs (nicer
typecheck/TcTyClsDecls.hs:1490: -- See Note [GADT record selectors] in
MkId.lhs
types/Kind.hs:218:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
types/Kind.hs:234:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
types/CoAxiom.hs:231:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
types/TyCon.hs:162:See also Note [Wrappers for data instance tycons] in
MkId.lhs
types/TyCon.hs:349:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
types/TypeRep.hs:98:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
types/Coercion.hs:126:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
types/Coercion.hs:203:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
types/Coercion.hs:945:-- of Coercion and the Note [Refl invariant] in
types/TypeRep.lhs.
types/Type.hs:606:interfaces. Notably this plays a role in tcTySigs in
TcBinds.lhs.
types/Type.hs:819:-- See Note [GHC Formalism] in coreSyn/CoreLint.lhs
types/Type.hs:1324:-- See Note [Kind Constraint and kind *] in Kinds.lhs
types/Unify.hs:235:-- thing to do. C.f. Note [Matching variable types] in
Rules.lhs
utils/Binary.hs:476:-- yes, we need Binary Integer and Binary Rational in
basicTypes/Literal.lhs
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9986>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list