Safe Haskell | None |
---|---|
Language | Haskell98 |
- 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 SolEnv = SolEnv {}
- newtype Packs = Packs {}
- getPack :: KVar -> Packs -> Maybe Int
- makePack :: [HashSet KVar] -> Packs
Environments
Functor SEnv Source # | |
Foldable SEnv Source # | |
Traversable SEnv Source # | |
Eq a => Eq (SEnv a) Source # | |
Data a => Data (SEnv a) Source # | |
Fixpoint (SEnv a) => Show (SEnv a) Source # | |
Generic (SEnv a) Source # | |
Monoid (SEnv a) Source # | |
Binary a => Binary (SEnv a) Source # | |
NFData a => NFData (SEnv a) Source # | |
PPrint a => PPrint (SEnv a) Source # | |
Fixpoint a => Fixpoint (SEnv a) Source # | |
Defunc a => Defunc (SEnv a) Source # | |
type Rep (SEnv a) Source # | |
toListSEnv :: SEnv a -> [(Symbol, a)] Source #
fromListSEnv :: [(Symbol, a)] -> SEnv a Source #
Local Constraint 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 ------------------------------------------------------