hakaru-0.6.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
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
Eq Ident Source # 
Instance details

Methods

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

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

Ord Ident Source # 
Instance details

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

Methods

showsPrec :: Int -> Ident -> ShowS #

show :: Ident -> String #

showList :: [Ident] -> ShowS #

Pretty Ident Source # 
Instance details

Methods

pretty :: Ident -> Doc Source #

prettyPrec :: Int -> Ident -> Doc

data CAST Source #

Constructors

CAST [CExtDecl] 
Instances
Eq CAST Source # 
Instance details

Methods

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

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

Ord CAST Source # 
Instance details

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

Methods

showsPrec :: Int -> CAST -> ShowS #

show :: CAST -> String #

showList :: [CAST] -> ShowS #

Pretty CAST Source # 
Instance details

Methods

pretty :: CAST -> Doc Source #

prettyPrec :: Int -> CAST -> Doc

data CFunDef Source #

Constructors

CFunDef [CDeclSpec] CDeclr [CDecl] CStat 
Instances
Eq CFunDef Source # 
Instance details

Methods

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

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

Ord CFunDef Source # 
Instance details
Show CFunDef Source # 
Instance details
Pretty CFunDef Source # 
Instance details

data CDecl Source #

Constructors

CDecl [CDeclSpec] [(CDeclr, Maybe CInit)] 
Instances
Eq CDecl Source # 
Instance details

Methods

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

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

Ord CDecl Source # 
Instance details

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

Methods

showsPrec :: Int -> CDecl -> ShowS #

show :: CDecl -> String #

showList :: [CDecl] -> ShowS #

Pretty CDecl Source # 
Instance details

Methods

pretty :: CDecl -> Doc Source #

prettyPrec :: Int -> CDecl -> Doc

data CDeclr Source #

Instances
Eq CDeclr Source # 
Instance details

Methods

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

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

Ord CDeclr Source # 
Instance details
Show CDeclr Source # 
Instance details
Pretty CDeclr Source # 
Instance details

data CSUSpec Source #

Constructors

CSUSpec CSUTag (Maybe Ident) [CDecl] 
Instances
Eq CSUSpec Source # 
Instance details

Methods

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

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

Ord CSUSpec Source # 
Instance details
Show CSUSpec Source # 
Instance details
Pretty CSUSpec Source # 
Instance details

data CSUTag Source #

Constructors

CStructTag 
CUnionTag 
Instances
Eq CSUTag Source # 
Instance details

Methods

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

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

Ord CSUTag Source # 
Instance details
Show CSUTag Source # 
Instance details
Pretty CSUTag Source # 
Instance details

data CEnum Source #

Constructors

CEnum (Maybe Ident) [(Ident, Maybe CExpr)] 
Instances
Eq CEnum Source # 
Instance details

Methods

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

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

Ord CEnum Source # 
Instance details

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

Methods

showsPrec :: Int -> CEnum -> ShowS #

show :: CEnum -> String #

showList :: [CEnum] -> ShowS #

Pretty CEnum Source # 
Instance details

Methods

pretty :: CEnum -> Doc Source #

prettyPrec :: Int -> CEnum -> Doc

data CInit Source #

Constructors

CInitExpr CExpr 
CInitList [([CPartDesig], CInit)] 
Instances
Eq CInit Source # 
Instance details

Methods

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

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

Ord CInit Source # 
Instance details

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

Methods

showsPrec :: Int -> CInit -> ShowS #

show :: CInit -> String #

showList :: [CInit] -> ShowS #

Pretty CInit Source # 
Instance details

Methods

pretty :: CInit -> Doc Source #

prettyPrec :: Int -> CInit -> Doc

data CFunSpec Source #

Constructors

Inline 
Instances
Eq CFunSpec Source # 
Instance details
Ord CFunSpec Source # 
Instance details
Show CFunSpec Source # 
Instance details

data CConst Source #

Instances
Eq CConst Source # 
Instance details

Methods

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

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

Ord CConst Source # 
Instance details
Show CConst Source # 
Instance details
Pretty CConst Source # 
Instance details