Safe Haskell | None |
---|---|
Language | Haskell98 |
Synopsis
- data Visitor acc ctx = Visitor {}
- class Visitable t where
- class SymConsts a where
- defaultVisitor :: Monoid acc => Visitor acc ctx
- trans :: (Visitable t, Monoid a) => Visitor a ctx -> ctx -> a -> t -> t
- fold :: (Visitable t, Monoid a) => Visitor a ctx -> ctx -> a -> t -> a
- stripCasts :: Visitable t => t -> t
- kvars :: Visitable t => t -> [KVar]
- eapps :: Visitable t => t -> [Expr]
- size :: Visitable t => t -> Integer
- lamSize :: Visitable t => t -> Integer
- envKVars :: TaggedC c a => BindEnv -> c a -> [KVar]
- envKVarsN :: TaggedC c a => BindEnv -> c a -> [(KVar, Int)]
- rhsKVars :: TaggedC c a => c a -> [KVar]
- mapKVars :: Visitable t => (KVar -> Maybe Expr) -> t -> t
- mapKVars' :: Visitable t => ((KVar, Subst) -> Maybe Expr) -> t -> t
- mapGVars' :: Visitable t => ((KVar, Subst) -> Maybe Expr) -> t -> t
- mapKVarSubsts :: Visitable t => (KVar -> Subst -> Subst) -> t -> t
- mapExpr :: Visitable t => (Expr -> Expr) -> t -> t
- mapMExpr :: Monad m => (Expr -> m Expr) -> Expr -> m Expr
- type CoSub = HashMap Symbol Sort
- applyCoSub :: CoSub -> Expr -> Expr
- isConcC :: TaggedC c a => c a -> Bool
- isKvarC :: TaggedC c a => c a -> Bool
- foldSort :: (a -> Sort -> a) -> a -> Sort -> a
- mapSort :: (Sort -> Sort) -> Sort -> Sort
- foldDataDecl :: (a -> Sort -> a) -> a -> DataDecl -> a
- (<$$>) :: Monad m => (a -> m b) -> [a] -> m [b]
Visitor
class Visitable t where Source #
Instances
Visitable SortedReft Source # | |
Defined in Language.Fixpoint.Types.Visitor visit :: Monoid a => Visitor a c -> c -> SortedReft -> VisitM a SortedReft Source # | |
Visitable Reft Source # | |
Visitable Expr Source # | |
Visitable BindEnv Source # | |
Visitable Rewrite Source # | |
Visitable Equation Source # | |
Visitable AxiomEnv Source # | |
Visitable Pred Source # | |
Visitable (SimpC a) Source # | |
Visitable (SubC a) Source # | |
Visitable (Cstr a) Source # | |
Visitable (Symbol, SortedReft) Source # | |
Defined in Language.Fixpoint.Types.Visitor visit :: Monoid a => Visitor a c -> c -> (Symbol, SortedReft) -> VisitM a (Symbol, SortedReft) Source # | |
Visitable (c a) => Visitable (GInfo c a) Source # | |
Extracting Symbolic Constants (String Literals)
class SymConsts a where Source #
String Constants -----------------------------------------
Instances
SymConsts SortedReft Source # | |
Defined in Language.Fixpoint.Types.Visitor symConsts :: SortedReft -> [SymConst] Source # | |
SymConsts Reft Source # | |
SymConsts Expr Source # | |
SymConsts BindEnv Source # | |
SymConsts (SimpC a) Source # | |
SymConsts (SubC a) Source # | |
SymConsts (c a) => SymConsts (GInfo c a) Source # | |
Default Visitor
defaultVisitor :: Monoid acc => Visitor acc ctx Source #
Transformers
Accumulators
Clients
stripCasts :: Visitable t => t -> t Source #
Coercion Substitutions
type CoSub = HashMap Symbol Sort Source #
CoSub
is a map from (coercion) ty-vars represented as 'FObj s'
to the ty-vars that they should be substituted with. Note the
domain and range are both Symbol and not the Int used for real ty-vars.
Predicates on Constraints
Sorts
foldDataDecl :: (a -> Sort -> a) -> a -> DataDecl -> a Source #