therefore, is almost nothing but re-exporting.
\begin{code}
+{-# LANGUAGE DeriveDataTypeable #-}
+
module HsSyn (
module HsBinds,
module HsDecls,
module HsDoc,
Fixity,
- HsModule(..), HsExtCore(..),
+ HsModule(..), HsExtCore(..), CodeFlavor(..)
) where
-- friends:
-- others:
import IfaceSyn ( IfaceBinding )
import Outputable
-import SrcLoc ( Located(..) )
+import SrcLoc
import Module ( Module, ModuleName )
import FastString
+
+-- libraries:
+import Data.Data hiding ( Fixity )
\end{code}
\begin{code}
+
+data CodeFlavor = LambdaFlavor | KappaFlavor
+
-- | All we actually declare here is the top-level structure for a module.
data HsModule name
= HsModule {
-- ^ reason\/explanation for warning/deprecation of this module
hsmodHaddockModHeader :: Maybe LHsDocString
-- ^ Haddock module info and description, unparsed
- }
-
+ } deriving (Data, Typeable)
data HsExtCore name -- Read from Foo.hcr
= HsExtCore