purescript-0.12.0: src/Language/PureScript/CoreFn/Module.hs
module Language.PureScript.CoreFn.Module where
import Prelude.Compat
import Language.PureScript.AST.SourcePos
import Language.PureScript.Comments
import Language.PureScript.CoreFn.Expr
import Language.PureScript.Names
-- |
-- The CoreFn module representation
--
-- The json CoreFn representation does not contain type information. When
-- parsing it one gets back `ModuleT () Ann` rathern than `ModuleT Type Ann`,
-- which is enough for `moduleToJs`.
data Module a = Module
{ moduleSourceSpan :: SourceSpan
, moduleComments :: [Comment]
, moduleName :: ModuleName
, modulePath :: FilePath
, moduleImports :: [(a, ModuleName)]
, moduleExports :: [Ident]
, moduleForeign :: [Ident]
, moduleDecls :: [Bind a]
} deriving (Show)