summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lynagh <ian@well-typed.com>2012-08-05 14:19:03 +0100
committerIan Lynagh <ian@well-typed.com>2012-08-05 14:19:03 +0100
commit14b05c05c90f319742cfd4cc8c6026f6728fc23b (patch)
treefe230d47f01d7b8d8c027b9e80a40aec02562c45
parent0e7aad2c6cda3db0a050bfe8afc56bbb2815e30c (diff)
downloadhaskell-14b05c05c90f319742cfd4cc8c6026f6728fc23b.tar.gz
Whitespace only in hsSyn/HsSyn.lhs
-rw-r--r--compiler/hsSyn/HsSyn.lhs77
1 files changed, 35 insertions, 42 deletions
diff --git a/compiler/hsSyn/HsSyn.lhs b/compiler/hsSyn/HsSyn.lhs
index aa487396b5..e9c3a5eeee 100644
--- a/compiler/hsSyn/HsSyn.lhs
+++ b/compiler/hsSyn/HsSyn.lhs
@@ -9,48 +9,41 @@ which is declared in the various \tr{Hs*} modules. This module,
therefore, is almost nothing but re-exporting.
\begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
--- The above warning supression flag is a temporary kludge.
--- While working on this module you are encouraged to remove it and
--- detab the module (please do the detabbing in a separate patch). See
--- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#TabsvsSpaces
--- for details
-
{-# LANGUAGE DeriveDataTypeable #-}
module HsSyn (
- module HsBinds,
- module HsDecls,
- module HsExpr,
- module HsImpExp,
- module HsLit,
- module HsPat,
- module HsTypes,
- module HsUtils,
- module HsDoc,
- Fixity,
-
- HsModule(..), HsExtCore(..),
+ module HsBinds,
+ module HsDecls,
+ module HsExpr,
+ module HsImpExp,
+ module HsLit,
+ module HsPat,
+ module HsTypes,
+ module HsUtils,
+ module HsDoc,
+ Fixity,
+
+ HsModule(..), HsExtCore(..),
) where
-- friends:
-import HsDecls
+import HsDecls
import HsBinds
import HsExpr
import HsImpExp
import HsLit
import HsPat
import HsTypes
-import BasicTypes ( Fixity, WarningTxt )
+import BasicTypes ( Fixity, WarningTxt )
import HsUtils
import HsDoc
-- others:
import OccName ( HasOccName )
-import IfaceSyn ( IfaceBinding )
+import IfaceSyn ( IfaceBinding )
import Outputable
import SrcLoc
-import Module ( Module, ModuleName )
+import Module ( Module, ModuleName )
import FastString
-- libraries:
@@ -85,44 +78,44 @@ data HsModule name
-- ^ Haddock module info and description, unparsed
} deriving (Data, Typeable)
-data HsExtCore name -- Read from Foo.hcr
+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
+ 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, HasOccName name)
- => Outputable (HsModule name) where
+ => Outputable (HsModule name) where
ppr (HsModule Nothing _ imports decls _ mbDoc)
= pp_mb mbDoc $$ pp_nonnull imports $$ pp_nonnull decls
ppr (HsModule (Just name) exports imports decls deprec mbDoc)
= vcat [
- pp_mb mbDoc,
- 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
+ pp_mb mbDoc,
+ 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
+ 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_modname = ptext (sLit "module") <+> ppr name
pp_mb :: Outputable t => Maybe t -> SDoc
-pp_mb (Just x) = ppr x
+pp_mb (Just x) = ppr x
pp_mb Nothing = empty
pp_nonnull :: Outputable t => [t] -> SDoc