-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | External core parser and pretty printer. -- -- External core parser and pretty printer. @package core @version 0.1 module Language.Core.Syntax data Module Module :: (Pkgname, Mname) -> [Tdef] -> [Vdefg] -> Module data Tdef Data :: (Qual Tcon) -> [Tbind] -> [Cdef] -> Tdef Newtype :: (Qual Tcon) -> (Qual Tcon) -> [Tbind] -> Ty -> Tdef data Cdef Constr :: (Qual Dcon) -> [Tbind] -> [Ty] -> Cdef GadtConstr :: (Qual Dcon) -> Ty -> Cdef data Vdefg Rec :: [Vdef] -> Vdefg Nonrec :: Vdef -> Vdefg type Vdef = (Bool, Qual Var, Ty, Exp) data Exp Var :: (Qual Var) -> Exp Dcon :: (Qual Dcon) -> Exp Lit :: Lit -> Exp App :: Exp -> Exp -> Exp Appt :: Exp -> Ty -> Exp Lam :: Bind -> Exp -> Exp Let :: Vdefg -> Exp -> Exp Case :: Exp -> Vbind -> Ty -> [Alt] -> Exp Cast :: Exp -> Ty -> Exp Note :: String -> Exp -> Exp External :: String -> String -> Ty -> Exp DynExternal :: String -> Ty -> Exp Label :: String -> Exp data Bind Vb :: Vbind -> Bind Tb :: Tbind -> Bind data Alt Acon :: (Qual Dcon) -> [Tbind] -> [Vbind] -> Exp -> Alt Alit :: Lit -> Exp -> Alt Adefault :: Exp -> Alt type Vbind = (Var, Ty) type Tbind = (Tvar, Kind) data Ty Tvar :: Tvar -> Ty Tcon :: (Qual Tcon) -> Ty Tapp :: Ty -> Ty -> Ty Tforall :: Tbind -> Ty -> Ty TransCoercion :: Ty -> Ty -> Ty SymCoercion :: Ty -> Ty UnsafeCoercion :: Ty -> Ty -> Ty InstCoercion :: Ty -> Ty -> Ty LeftCoercion :: Ty -> Ty RightCoercion :: Ty -> Ty data Kind Klifted :: Kind Kunlifted :: Kind Kunboxed :: Kind Kopen :: Kind Karrow :: Kind -> Kind -> Kind Keq :: Ty -> Ty -> Kind data Lit Lint :: Integer -> Ty -> Lit Lrational :: Rational -> Ty -> Lit Lchar :: Char -> Ty -> Lit Lstring :: String -> Ty -> Lit type Pkgname = Id type Mname = Id type Var = Id type Tvar = Id type Tcon = Id type Dcon = Id type Qual t = (Pkgname, Mname, t) type Id = ByteString instance Show Lit instance Show Kind instance Show Ty instance Show Alt instance Show Bind instance Show Exp instance Show Vdefg instance Show Cdef instance Show Tdef instance Show Module module Language.Core.Pretty ppModule :: Module -> Doc module Language.Core.Parser parseModule :: SourceName -> ByteString -> Either ParseError Module instance Show Token instance Eq Token instance (Show a) => Show (Pos a) module Language.Core