liquid-fixpoint-0.5.0.0: Predicate Abstraction-based Horn-Clause/Implication Constraint Solver

Safe HaskellNone
LanguageHaskell98

Language.Fixpoint.Types.Visitor

Contents

Synopsis

Visitor

data Visitor acc ctx Source

Constructors

Visitor 

Fields

ctxExpr :: ctx -> Expr -> ctx

Context ctx is built in a "top-down" fashion; not "across" siblings

txExpr :: ctx -> Expr -> Expr

Transforms can access current ctx

accExpr :: ctx -> Expr -> acc

Accumulations can access current ctx; acc value is monoidal

Extracting Symbolic Constants (String Literals)

class SymConsts a where Source

String Constants -----------------------------------------

Methods

symConsts :: a -> [SymConst] Source

Default Visitor

Transformers

trans :: (Visitable t, Monoid a) => Visitor a ctx -> ctx -> a -> t -> t Source

Accumulators

fold :: (Visitable t, Monoid a) => Visitor a ctx -> ctx -> a -> t -> a Source

Clients

kvars :: Visitable t => t -> [KVar] Source

size :: Visitable t => t -> Integer Source

envKVars :: TaggedC c a => BindEnv -> c a -> [KVar] Source

envKVarsN :: TaggedC c a => BindEnv -> c a -> [(KVar, Int)] Source

rhsKVars :: TaggedC c a => c a -> [KVar] Source

mapKVars :: Visitable t => (KVar -> Maybe Expr) -> t -> t Source

mapKVars' :: Visitable t => ((KVar, Subst) -> Maybe Expr) -> t -> t Source

mapKVarSubsts :: Visitable t => (KVar -> Subst -> Subst) -> t -> t Source

Predicates on Constraints

isConcC :: TaggedC c a => c a -> Bool Source

isKvarC :: TaggedC c a => c a -> Bool Source

Sorts

foldSort :: (a -> Sort -> a) -> a -> Sort -> a Source

Visitors over Sort