Reorganisation of the source tree
[ghc-hetmet.git] / ghc / compiler / hsSyn / HsSyn.lhs
diff --git a/ghc/compiler/hsSyn/HsSyn.lhs b/ghc/compiler/hsSyn/HsSyn.lhs
deleted file mode 100644 (file)
index a9982a6..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-%
-% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
-%
-\section{Haskell abstract syntax definition}
-
-This module glues together the pieces of the Haskell abstract syntax,
-which is declared in the various \tr{Hs*} modules.  This module,
-therefore, is almost nothing but re-exporting.
-
-\begin{code}
-module HsSyn (
-       module HsBinds,
-       module HsDecls,
-       module HsExpr,
-       module HsImpExp,
-       module HsLit,
-       module HsPat,
-       module HsTypes,
-       module HsUtils,
-       Fixity,
-
-       HsModule(..), HsExtCore(..)
-     ) where
-
-#include "HsVersions.h"
-
--- friends:
-import HsDecls         
-import HsBinds
-import HsExpr
-import HsImpExp
-import HsLit
-import HsPat
-import HsTypes
-import HscTypes                ( DeprecTxt )
-import BasicTypes      ( Fixity )
-import HsUtils
-
--- others:
-import IfaceSyn                ( IfaceBinding )
-import Outputable
-import SrcLoc          ( Located(..) )
-import Module          ( Module )
-\end{code}
-
-All we actually declare here is the top-level structure for a module.
-\begin{code}
-data HsModule name
-  = HsModule
-       (Maybe (Located Module))-- Nothing => "module X where" is omitted
-                               --      (in which case the next field is Nothing too)
-       (Maybe [LIE name])      -- Export list; Nothing => export list omitted, so export everything
-                               -- Just [] => export *nothing*
-                               -- Just [...] => as you would expect...
-       [LImportDecl name]      -- We snaffle interesting stuff out of the
-                               -- imported interfaces early on, adding that
-                               -- info to TyDecls/etc; so this list is
-                               -- often empty, downstream.
-       [LHsDecl name]          -- Type, class, value, and interface signature decls
-       (Maybe DeprecTxt)       -- reason/explanation for deprecation of this module
-
-data HsExtCore name    -- Read from Foo.hcr
-  = HsExtCore
-       Module
-       [TyClDecl name] -- Type declarations only; just as in Haskell source,
-                       -- so that we can infer kinds etc
-       [IfaceBinding]  -- And the bindings
-\end{code}
-
-\begin{code}
-instance (OutputableBndr name)
-       => Outputable (HsModule name) where
-
-    ppr (HsModule Nothing _ imports decls _)
-      = pp_nonnull imports $$ pp_nonnull decls
-
-    ppr (HsModule (Just name) exports imports decls deprec)
-      = vcat [
-           case exports of
-             Nothing -> pp_header (ptext SLIT("where"))
-             Just es -> vcat [
-                          pp_header lparen,
-                          nest 8 (fsep (punctuate comma (map ppr es))),
-                          nest 4 (ptext SLIT(") where"))
-                         ],
-           pp_nonnull imports,
-           pp_nonnull decls
-       ]
-      where
-       pp_header rest = case deprec of
-           Nothing -> pp_modname <+> rest
-           Just d -> vcat [ pp_modname, ppr d, rest ]
-
-       pp_modname = ptext SLIT("module") <+> ppr name
-
-pp_nonnull [] = empty
-pp_nonnull xs = vcat (map ppr xs)
-\end{code}