diff options
| author | Ian Lynagh <ian@well-typed.com> | 2012-08-05 14:19:03 +0100 |
|---|---|---|
| committer | Ian Lynagh <ian@well-typed.com> | 2012-08-05 14:19:03 +0100 |
| commit | 14b05c05c90f319742cfd4cc8c6026f6728fc23b (patch) | |
| tree | fe230d47f01d7b8d8c027b9e80a40aec02562c45 /compiler | |
| parent | 0e7aad2c6cda3db0a050bfe8afc56bbb2815e30c (diff) | |
| download | haskell-14b05c05c90f319742cfd4cc8c6026f6728fc23b.tar.gz | |
Whitespace only in hsSyn/HsSyn.lhs
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/hsSyn/HsSyn.lhs | 77 |
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 |
