[project @ 2002-01-30 17:16:36 by simonpj]
authorsimonpj <unknown>
Wed, 30 Jan 2002 17:16:37 +0000 (17:16 +0000)
committersimonpj <unknown>
Wed, 30 Jan 2002 17:16:37 +0000 (17:16 +0000)
commitdd214d28a58f10af4355c887674ea692aff37efe
tree2a6ff55d47c5bebff052ac573cd2b4c914b95b8e
parent605fd82f2909eca910997563b0bbe19db50746d2
[project @ 2002-01-30 17:16:36 by simonpj]
-----------------------------
Tidy up the top level of TcModule
-----------------------------

This commit started life as sorting out the TcInstDcls thing that
we got wrong a few weeks back, but it spiraled out of control.

However, the result is a nice tidy up of TcModule.

typecheckModule/tcModule compiles a module from source code
typecheckIface/tcIface   compiles a module from its interface file
typecheckStmt  compiles a Stmt
typecheckExpr  compiles a Expr

tcExtraDecls is used by typecheckStmt/typecheckExpr
to compile interface-file decls.
It is just a wrapper for:

tcIfaceImports, which is used by tcExtraDecls and tcIface
to compile interface file-file decls.

tcImports, is similar to tcIfaceImports, but is used only by tcModule

tcIfaceImports is used when compiling an interface, and can
therefore be quite a bit simpler
ghc/compiler/hsSyn/HsDecls.lhs
ghc/compiler/typecheck/TcClassDcl.lhs
ghc/compiler/typecheck/TcInstDcls.lhs
ghc/compiler/typecheck/TcModule.lhs
ghc/compiler/typecheck/TcRules.lhs
ghc/compiler/typecheck/TcTyClsDecls.lhs