hakaru-0.7.0: A probabilistic programming language
CopyrightCopyright (c) 2016 the Hakaru team
LicenseBSD3
Maintainerzsulliva@indiana.edu
Stabilityexperimental
PortabilityGHC-only An AST for the C Family and preprocessor. Much of this was originally based
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Hakaru.CodeGen.AST

Description

on Manuel M T Chakravarty and Benedikt Hubar's "language-c" package.

It is an AST for the C99 standard and should compile with the -pedantic flag

Documentation

data Ident Source #

Constructors

Ident String 

Instances

Instances details
Eq Ident Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

(==) :: Ident -> Ident -> Bool #

(/=) :: Ident -> Ident -> Bool #

Ord Ident Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

compare :: Ident -> Ident -> Ordering #

(<) :: Ident -> Ident -> Bool #

(<=) :: Ident -> Ident -> Bool #

(>) :: Ident -> Ident -> Bool #

(>=) :: Ident -> Ident -> Bool #

max :: Ident -> Ident -> Ident #

min :: Ident -> Ident -> Ident #

Show Ident Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

showsPrec :: Int -> Ident -> ShowS #

show :: Ident -> String #

showList :: [Ident] -> ShowS #

Pretty Ident Source # 
Instance details

Defined in Language.Hakaru.CodeGen.Pretty

Methods

pretty :: Ident -> Doc Source #

prettyPrec :: Int -> Ident -> Doc

data CAST Source #

Constructors

CAST [CExtDecl] 

Instances

Instances details
Eq CAST Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

(==) :: CAST -> CAST -> Bool #

(/=) :: CAST -> CAST -> Bool #

Ord CAST Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

compare :: CAST -> CAST -> Ordering #

(<) :: CAST -> CAST -> Bool #

(<=) :: CAST -> CAST -> Bool #

(>) :: CAST -> CAST -> Bool #

(>=) :: CAST -> CAST -> Bool #

max :: CAST -> CAST -> CAST #

min :: CAST -> CAST -> CAST #

Show CAST Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

showsPrec :: Int -> CAST -> ShowS #

show :: CAST -> String #

showList :: [CAST] -> ShowS #

Pretty CAST Source # 
Instance details

Defined in Language.Hakaru.CodeGen.Pretty

Methods

pretty :: CAST -> Doc Source #

prettyPrec :: Int -> CAST -> Doc

data CFunDef Source #

Constructors

CFunDef [CDeclSpec] CDeclr [CDecl] CStat 

Instances

Instances details
Eq CFunDef Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

(==) :: CFunDef -> CFunDef -> Bool #

(/=) :: CFunDef -> CFunDef -> Bool #

Ord CFunDef Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Show CFunDef Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Pretty CFunDef Source # 
Instance details

Defined in Language.Hakaru.CodeGen.Pretty

data CDecl Source #

Constructors

CDecl [CDeclSpec] [(CDeclr, Maybe CInit)] 

Instances

Instances details
Eq CDecl Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

(==) :: CDecl -> CDecl -> Bool #

(/=) :: CDecl -> CDecl -> Bool #

Ord CDecl Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

compare :: CDecl -> CDecl -> Ordering #

(<) :: CDecl -> CDecl -> Bool #

(<=) :: CDecl -> CDecl -> Bool #

(>) :: CDecl -> CDecl -> Bool #

(>=) :: CDecl -> CDecl -> Bool #

max :: CDecl -> CDecl -> CDecl #

min :: CDecl -> CDecl -> CDecl #

Show CDecl Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

showsPrec :: Int -> CDecl -> ShowS #

show :: CDecl -> String #

showList :: [CDecl] -> ShowS #

Pretty CDecl Source # 
Instance details

Defined in Language.Hakaru.CodeGen.Pretty

Methods

pretty :: CDecl -> Doc Source #

prettyPrec :: Int -> CDecl -> Doc

data CDeclr Source #

Instances

Instances details
Eq CDeclr Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

(==) :: CDeclr -> CDeclr -> Bool #

(/=) :: CDeclr -> CDeclr -> Bool #

Ord CDeclr Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Show CDeclr Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Pretty CDeclr Source # 
Instance details

Defined in Language.Hakaru.CodeGen.Pretty

data CSUSpec Source #

Constructors

CSUSpec CSUTag (Maybe Ident) [CDecl] 

Instances

Instances details
Eq CSUSpec Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

(==) :: CSUSpec -> CSUSpec -> Bool #

(/=) :: CSUSpec -> CSUSpec -> Bool #

Ord CSUSpec Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Show CSUSpec Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Pretty CSUSpec Source # 
Instance details

Defined in Language.Hakaru.CodeGen.Pretty

data CSUTag Source #

Constructors

CStructTag 
CUnionTag 

Instances

Instances details
Eq CSUTag Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

(==) :: CSUTag -> CSUTag -> Bool #

(/=) :: CSUTag -> CSUTag -> Bool #

Ord CSUTag Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Show CSUTag Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Pretty CSUTag Source # 
Instance details

Defined in Language.Hakaru.CodeGen.Pretty

data CEnum Source #

Constructors

CEnum (Maybe Ident) [(Ident, Maybe CExpr)] 

Instances

Instances details
Eq CEnum Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

(==) :: CEnum -> CEnum -> Bool #

(/=) :: CEnum -> CEnum -> Bool #

Ord CEnum Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

compare :: CEnum -> CEnum -> Ordering #

(<) :: CEnum -> CEnum -> Bool #

(<=) :: CEnum -> CEnum -> Bool #

(>) :: CEnum -> CEnum -> Bool #

(>=) :: CEnum -> CEnum -> Bool #

max :: CEnum -> CEnum -> CEnum #

min :: CEnum -> CEnum -> CEnum #

Show CEnum Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

showsPrec :: Int -> CEnum -> ShowS #

show :: CEnum -> String #

showList :: [CEnum] -> ShowS #

Pretty CEnum Source # 
Instance details

Defined in Language.Hakaru.CodeGen.Pretty

Methods

pretty :: CEnum -> Doc Source #

prettyPrec :: Int -> CEnum -> Doc

data CInit Source #

Constructors

CInitExpr CExpr 
CInitList [([CPartDesig], CInit)] 

Instances

Instances details
Eq CInit Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

(==) :: CInit -> CInit -> Bool #

(/=) :: CInit -> CInit -> Bool #

Ord CInit Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

compare :: CInit -> CInit -> Ordering #

(<) :: CInit -> CInit -> Bool #

(<=) :: CInit -> CInit -> Bool #

(>) :: CInit -> CInit -> Bool #

(>=) :: CInit -> CInit -> Bool #

max :: CInit -> CInit -> CInit #

min :: CInit -> CInit -> CInit #

Show CInit Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

showsPrec :: Int -> CInit -> ShowS #

show :: CInit -> String #

showList :: [CInit] -> ShowS #

Pretty CInit Source # 
Instance details

Defined in Language.Hakaru.CodeGen.Pretty

Methods

pretty :: CInit -> Doc Source #

prettyPrec :: Int -> CInit -> Doc

data CFunSpec Source #

Constructors

Inline 

Instances

Instances details
Eq CFunSpec Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Ord CFunSpec Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Show CFunSpec Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

data CConst Source #

Instances

Instances details
Eq CConst Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Methods

(==) :: CConst -> CConst -> Bool #

(/=) :: CConst -> CConst -> Bool #

Ord CConst Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Show CConst Source # 
Instance details

Defined in Language.Hakaru.CodeGen.AST

Pretty CConst Source # 
Instance details

Defined in Language.Hakaru.CodeGen.Pretty