Djinn.LJTFormula

djinn-lib-0.0.1.2: Generate Haskell code from a type. Library extracted from djinn package.

Safe Haskell | Safe
Language | Haskell98

Djinn.LJTFormula

# Documentation

newtype Symbol #

Constructors

Symbol String |

Instances

Eq Symbol # |
Methods (==) :: Symbol -> Symbol -> Bool # (/=) :: Symbol -> Symbol -> Bool #
Ord Symbol # |
Methods compare :: Symbol -> Symbol -> Ordering # (<) :: Symbol -> Symbol -> Bool # (<=) :: Symbol -> Symbol -> Bool # (>) :: Symbol -> Symbol -> Bool # (>=) :: Symbol -> Symbol -> Bool # max :: Symbol -> Symbol -> Symbol # min :: Symbol -> Symbol -> Symbol #
Show Symbol # |
Methods showsPrec :: Int -> Symbol -> ShowS # show :: Symbol -> String # showList :: [Symbol] -> ShowS #

data Formula #

Constructors

Conj [Formula] |
Disj [(ConsDesc, Formula)] |
Formula :-> Formula infixr 2 |
PVar Symbol |

Instances

Eq Formula # |
Methods (==) :: Formula -> Formula -> Bool # (/=) :: Formula -> Formula -> Bool #
Ord Formula # |
Methods compare :: Formula -> Formula -> Ordering # (<) :: Formula -> Formula -> Bool # (<=) :: Formula -> Formula -> Bool # (>) :: Formula -> Formula -> Bool # (>=) :: Formula -> Formula -> Bool # max :: Formula -> Formula -> Formula # min :: Formula -> Formula -> Formula #
Show Formula # |
Methods showsPrec :: Int -> Formula -> ShowS # show :: Formula -> String # showList :: [Formula] -> ShowS #

(<->) :: Formula -> Formula -> Formula infix 2 #

(&) :: Formula -> Formula -> Formula infixl 4 #

(|:) :: Formula -> Formula -> Formula infixl 3 #

fnot :: Formula -> Formula #

false :: Formula #

true :: Formula #

data ConsDesc #

Constructors

ConsDesc String Int |

Instances

Eq ConsDesc # |
Methods (==) :: ConsDesc -> ConsDesc -> Bool # (/=) :: ConsDesc -> ConsDesc -> Bool #
Ord ConsDesc # |
Methods compare :: ConsDesc -> ConsDesc -> Ordering # (<) :: ConsDesc -> ConsDesc -> Bool # (<=) :: ConsDesc -> ConsDesc -> Bool # (>) :: ConsDesc -> ConsDesc -> Bool # (>=) :: ConsDesc -> ConsDesc -> Bool # max :: ConsDesc -> ConsDesc -> ConsDesc # min :: ConsDesc -> ConsDesc -> ConsDesc #
Show ConsDesc # |
Methods showsPrec :: Int -> ConsDesc -> ShowS # show :: ConsDesc -> String # showList :: [ConsDesc] -> ShowS #

data Term #

Constructors

Var Symbol |
Lam Symbol Term |
Apply Term Term |
Ctuple Int |
Csplit Int |
Cinj ConsDesc Int |
Ccases [ConsDesc] |
Xsel Int Int Term |

Instances

Eq Term # |
Methods (==) :: Term -> Term -> Bool # (/=) :: Term -> Term -> Bool #
Ord Term # |
Methods compare :: Term -> Term -> Ordering # (<) :: Term -> Term -> Bool # (<=) :: Term -> Term -> Bool # (>) :: Term -> Term -> Bool # (>=) :: Term -> Term -> Bool # max :: Term -> Term -> Term # min :: Term -> Term -> Term #
Show Term # |
Methods showsPrec :: Int -> Term -> ShowS # show :: Term -> String # showList :: [Term] -> ShowS #

applys :: Term -> [Term] -> Term #

freeVars :: Term -> [Symbol] #