Safe Haskell | None |
---|---|
Language | Haskell98 |
Synopsis
- data SEnv a
- data SESearch a
- emptySEnv :: SEnv a
- toListSEnv :: SEnv a -> [(Symbol, a)]
- fromListSEnv :: [(Symbol, a)] -> SEnv a
- fromMapSEnv :: HashMap Symbol a -> SEnv a
- mapSEnvWithKey :: ((Symbol, a) -> (Symbol, b)) -> SEnv a -> SEnv b
- mapSEnv :: (a -> b) -> SEnv a -> SEnv b
- mapMSEnv :: Monad m => (a -> m b) -> SEnv a -> m (SEnv b)
- insertSEnv :: Symbol -> a -> SEnv a -> SEnv a
- deleteSEnv :: Symbol -> SEnv a -> SEnv a
- memberSEnv :: Symbol -> SEnv a -> Bool
- lookupSEnv :: Symbol -> SEnv a -> Maybe a
- unionSEnv :: SEnv a -> HashMap Symbol a -> SEnv a
- unionSEnv' :: SEnv a -> SEnv a -> SEnv a
- intersectWithSEnv :: (v1 -> v2 -> a) -> SEnv v1 -> SEnv v2 -> SEnv a
- differenceSEnv :: SEnv a -> SEnv w -> SEnv a
- filterSEnv :: (a -> Bool) -> SEnv a -> SEnv a
- lookupSEnvWithDistance :: Symbol -> SEnv a -> SESearch a
- envCs :: BindEnv -> IBindEnv -> [(Symbol, SortedReft)]
- data IBindEnv
- type BindId = Int
- type BindMap a = HashMap BindId a
- emptyIBindEnv :: IBindEnv
- insertsIBindEnv :: [BindId] -> IBindEnv -> IBindEnv
- deleteIBindEnv :: BindId -> IBindEnv -> IBindEnv
- elemsIBindEnv :: IBindEnv -> [BindId]
- fromListIBindEnv :: [BindId] -> IBindEnv
- memberIBindEnv :: BindId -> IBindEnv -> Bool
- unionIBindEnv :: IBindEnv -> IBindEnv -> IBindEnv
- diffIBindEnv :: IBindEnv -> IBindEnv -> IBindEnv
- intersectionIBindEnv :: IBindEnv -> IBindEnv -> IBindEnv
- nullIBindEnv :: IBindEnv -> Bool
- filterIBindEnv :: (BindId -> Bool) -> IBindEnv -> IBindEnv
- type BindEnv = SizedEnv (Symbol, SortedReft)
- beBinds :: SizedEnv a -> BindMap a
- emptyBindEnv :: BindEnv
- insertBindEnv :: Symbol -> SortedReft -> BindEnv -> (BindId, BindEnv)
- lookupBindEnv :: BindId -> BindEnv -> (Symbol, SortedReft)
- filterBindEnv :: (BindId -> Symbol -> SortedReft -> Bool) -> BindEnv -> BindEnv
- mapBindEnv :: (BindId -> (Symbol, SortedReft) -> (Symbol, SortedReft)) -> BindEnv -> BindEnv
- mapWithKeyMBindEnv :: Monad m => ((BindId, (Symbol, SortedReft)) -> m (BindId, (Symbol, SortedReft))) -> BindEnv -> m BindEnv
- adjustBindEnv :: ((Symbol, SortedReft) -> (Symbol, SortedReft)) -> BindId -> BindEnv -> BindEnv
- bindEnvFromList :: [(BindId, Symbol, SortedReft)] -> BindEnv
- bindEnvToList :: BindEnv -> [(BindId, Symbol, SortedReft)]
- elemsBindEnv :: BindEnv -> [BindId]
- data EBindEnv
- splitByQuantifiers :: BindEnv -> [BindId] -> (BindEnv, EBindEnv)
- newtype Packs = Packs {}
- getPack :: KVar -> Packs -> Maybe Int
- makePack :: [HashSet KVar] -> Packs
Environments
Instances
Functor SEnv Source # | |
Foldable SEnv Source # | |
Defined in Language.Fixpoint.Types.Environments fold :: Monoid m => SEnv m -> m # foldMap :: Monoid m => (a -> m) -> SEnv a -> m # foldr :: (a -> b -> b) -> b -> SEnv a -> b # foldr' :: (a -> b -> b) -> b -> SEnv a -> b # foldl :: (b -> a -> b) -> b -> SEnv a -> b # foldl' :: (b -> a -> b) -> b -> SEnv a -> b # foldr1 :: (a -> a -> a) -> SEnv a -> a # foldl1 :: (a -> a -> a) -> SEnv a -> a # elem :: Eq a => a -> SEnv a -> Bool # maximum :: Ord a => SEnv a -> a # | |
Traversable SEnv Source # | |
Eq a => Eq (SEnv a) Source # | |
Data a => Data (SEnv a) Source # | |
Defined in Language.Fixpoint.Types.Environments gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SEnv a -> c (SEnv a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (SEnv a) # toConstr :: SEnv a -> Constr # dataTypeOf :: SEnv a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (SEnv a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (SEnv a)) # gmapT :: (forall b. Data b => b -> b) -> SEnv a -> SEnv a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SEnv a -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SEnv a -> r # gmapQ :: (forall d. Data d => d -> u) -> SEnv a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SEnv a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SEnv a -> m (SEnv a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SEnv a -> m (SEnv a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SEnv a -> m (SEnv a) # | |
Fixpoint (SEnv a) => Show (SEnv a) Source # | |
Generic (SEnv a) Source # | |
Semigroup (SEnv a) Source # | |
Monoid (SEnv a) Source # | |
Binary a => Binary (SEnv a) Source # | |
NFData a => NFData (SEnv a) Source # | |
Defined in Language.Fixpoint.Types.Environments | |
PPrint a => PPrint (SEnv a) Source # | |
Defined in Language.Fixpoint.Types.Environments | |
Fixpoint a => Fixpoint (SEnv a) Source # | |
Defunc a => Defunc (SEnv a) Source # | |
type Rep (SEnv a) Source # | |
Defined in Language.Fixpoint.Types.Environments |
toListSEnv :: SEnv a -> [(Symbol, a)] Source #
fromListSEnv :: [(Symbol, a)] -> SEnv a Source #
Local Constraint Environments
Instances
Eq IBindEnv Source # | |
Data IBindEnv Source # | |
Defined in Language.Fixpoint.Types.Environments gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IBindEnv -> c IBindEnv # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IBindEnv # toConstr :: IBindEnv -> Constr # dataTypeOf :: IBindEnv -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IBindEnv) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IBindEnv) # gmapT :: (forall b. Data b => b -> b) -> IBindEnv -> IBindEnv # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IBindEnv -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IBindEnv -> r # gmapQ :: (forall d. Data d => d -> u) -> IBindEnv -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> IBindEnv -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IBindEnv -> m IBindEnv # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IBindEnv -> m IBindEnv # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IBindEnv -> m IBindEnv # | |
Generic IBindEnv Source # | |
Semigroup IBindEnv Source # | Functions for Indexed Bind Environment |
Monoid IBindEnv Source # | |
Binary IBindEnv Source # | |
NFData IBindEnv Source # | |
Defined in Language.Fixpoint.Types.Environments | |
PPrint IBindEnv Source # | |
Defined in Language.Fixpoint.Types.Environments | |
Fixpoint IBindEnv Source # | |
type Rep IBindEnv Source # | |
Defined in Language.Fixpoint.Types.Environments |
elemsIBindEnv :: IBindEnv -> [BindId] Source #
fromListIBindEnv :: [BindId] -> IBindEnv Source #
nullIBindEnv :: IBindEnv -> Bool Source #
Global Binder Environments
type BindEnv = SizedEnv (Symbol, SortedReft) Source #
insertBindEnv :: Symbol -> SortedReft -> BindEnv -> (BindId, BindEnv) Source #
Functions for Global Binder Environment
lookupBindEnv :: BindId -> BindEnv -> (Symbol, SortedReft) Source #
filterBindEnv :: (BindId -> Symbol -> SortedReft -> Bool) -> BindEnv -> BindEnv Source #
mapBindEnv :: (BindId -> (Symbol, SortedReft) -> (Symbol, SortedReft)) -> BindEnv -> BindEnv Source #
mapWithKeyMBindEnv :: Monad m => ((BindId, (Symbol, SortedReft)) -> m (BindId, (Symbol, SortedReft))) -> BindEnv -> m BindEnv Source #
adjustBindEnv :: ((Symbol, SortedReft) -> (Symbol, SortedReft)) -> BindId -> BindEnv -> BindEnv Source #
bindEnvFromList :: [(BindId, Symbol, SortedReft)] -> BindEnv Source #
bindEnvToList :: BindEnv -> [(BindId, Symbol, SortedReft)] Source #
elemsBindEnv :: BindEnv -> [BindId] Source #
Information needed to lookup and update Solutions
Groups of KVars (needed by eliminate)
Constraint Pack Sets ------------------------------------------------------
Instances
Eq Packs Source # | |
Show Packs Source # | |
Generic Packs Source # | |
Semigroup Packs Source # | |
Monoid Packs Source # | |
Binary Packs Source # | |
NFData Packs Source # | |
Defined in Language.Fixpoint.Types.Environments | |
PPrint Packs Source # | |
Defined in Language.Fixpoint.Types.Environments | |
Fixpoint Packs Source # | |
type Rep Packs Source # | |
Defined in Language.Fixpoint.Types.Environments |