Safe Haskell | Safe-Inferred |
---|---|
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 :: Expr -> Expr
- kvarsExpr :: Expr -> [KVar]
- eapps :: Visitable t => t -> [Expr]
- size :: Visitable t => t -> Integer
- lamSize :: Visitable t => t -> Integer
- envKVars :: TaggedC c a => BindEnv a -> c a -> [KVar]
- envKVarsN :: TaggedC c a => BindEnv a -> 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
- mapExprOnExpr :: (Expr -> Expr) -> Expr -> Expr
- 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
- isConc :: Expr -> 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
Visitor
class Visitable t where Source #
Instances
Visitable Pred Source # | |
Visitable AxiomEnv Source # | |
Visitable Equation Source # | |
Visitable Rewrite Source # | |
Visitable Expr Source # | |
Visitable Reft Source # | |
Visitable SortedReft Source # | |
Defined in Language.Fixpoint.Types.Visitor visit :: Monoid a => Visitor a c -> c -> SortedReft -> VisitM a SortedReft Source # | |
Visitable (Cstr a) Source # | |
Visitable (SimpC a) Source # | |
Visitable (SubC a) Source # | |
Visitable (BindEnv a) Source # | |
Visitable (c a) => Visitable (GInfo c a) Source # | |
Visitable (Symbol, SortedReft, a) Source # | |
Defined in Language.Fixpoint.Types.Visitor visit :: Monoid a0 => Visitor a0 c -> c -> (Symbol, SortedReft, a) -> VisitM a0 (Symbol, SortedReft, a) Source # |
Extracting Symbolic Constants (String Literals)
class SymConsts a where Source #
String Constants -----------------------------------------
Instances
SymConsts AxiomEnv Source # | |
SymConsts Equation Source # | |
SymConsts Rewrite Source # | |
SymConsts Expr Source # | |
SymConsts Reft Source # | |
SymConsts SortedReft Source # | |
Defined in Language.Fixpoint.Types.Visitor symConsts :: SortedReft -> [SymConst] Source # | |
SymConsts (SimpC a) Source # | |
SymConsts (SubC a) Source # | |
SymConsts (BindEnv a) Source # | |
SymConsts a => SymConsts [a] Source # | |
Defined in Language.Fixpoint.Types.Visitor | |
SymConsts (c a) => SymConsts (GInfo c a) Source # | |
Default Visitor
defaultVisitor :: Monoid acc => Visitor acc ctx Source #
Transformers
Accumulators
Clients
stripCasts :: Expr -> Expr Source #
mapExprOnExpr :: (Expr -> Expr) -> Expr -> Expr Source #
Specialized and faster version of mapExpr for expressions
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 #