-- 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.4 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 data Vdef Vdef :: Bool -> Qual Var -> Ty -> Exp -> Vdef vdefLocal :: Vdef -> Bool vdefName :: Vdef -> Qual Var vdefType :: Vdef -> Ty vdefExp :: Vdef -> Exp data Exp Var :: (Qual Var) -> Exp Dcon :: (Qual Dcon) -> Exp Lit :: Lit -> Exp App :: Exp -> Exp -> Exp Appt :: Exp -> Ty -> Exp Lam :: Vbind -> Exp -> Exp Lamt :: Tbind -> 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 Alt Acon :: (Qual Dcon) -> [Tbind] -> [Vbind] -> Exp -> Alt Alit :: Lit -> Exp -> Alt Adefault :: Exp -> Alt type Vbind = (Qual Var, Ty) type Tbind = (Tvar, Kind) data Ty Tvar :: Tvar -> Ty Tcon :: (Qual Tcon) -> Ty Tapp :: Ty -> Ty -> Ty Tarrow :: 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 Read Lit instance Eq Lit instance Show Kind instance Read Kind instance Eq Kind instance Show Ty instance Read Ty instance Eq Ty instance Show Alt instance Read Alt instance Eq Alt instance Show Exp instance Read Exp instance Eq Exp instance Show Vdef instance Read Vdef instance Eq Vdef instance Show Vdefg instance Read Vdefg instance Eq Vdefg instance Show Cdef instance Read Cdef instance Eq Cdef instance Show Tdef instance Read Tdef instance Eq Tdef instance Show Module instance Read Module instance Eq Module module Language.Core.Pretty ppModule :: Module -> Doc module Language.Core.Parser parseModule :: SourceName -> ByteString -> Either ParseError Module data Pos a Pos :: !Int -> !Int -> a -> Pos a data Token Keyword :: String -> Token Colon :: Token DColon :: Token SColon :: Token Arrow :: Token LParen :: Token RParen :: Token LBrace :: Token RBrace :: Token Dot :: Token Equal :: Token At :: Token Star :: Token Hash :: Token Dash :: Token Percent :: Token QuestionMark :: Token Backslash :: Token Uname :: ByteString -> Token Lname :: ByteString -> Token String :: String -> Token Char :: Char -> Token Number :: Integer -> Token lexer :: ByteString -> [Pos Token] instance Show Token instance Eq Token instance (Show a) => Show (Pos a) module Language.Core.Happy newtype HappyAbsSyn t4 HappyAbsSyn :: HappyAny -> HappyAbsSyn t4 type HappyAny = Any happyIn4 :: t4 -> (HappyAbsSyn t4) happyOut4 :: (HappyAbsSyn t4) -> t4 happyInTok :: Token -> (HappyAbsSyn t4) happyOutTok :: (HappyAbsSyn t4) -> Token happyActOffsets :: HappyAddr happyGotoOffsets :: HappyAddr happyDefActions :: HappyAddr happyCheck :: HappyAddr happyTable :: HappyAddr newtype HappyIdentity a HappyIdentity :: a -> HappyIdentity a happyThen :: HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b happyReturn :: a -> HappyIdentity a happyReturn1 :: a -> b -> HappyIdentity a happyError' :: [Token] -> HappyIdentity a data Happy_IntList HappyCons :: Int# -> Happy_IntList -> Happy_IntList data HappyStk a HappyStk :: a -> (HappyStk a) -> HappyStk a data HappyAddr HappyA# :: Addr# -> HappyAddr happyTcHack :: Int# -> a -> a happyDontSeq :: a -> b -> b happyDoSeq :: a -> b -> b instance Monad HappyIdentity module Language.Core