Safe Haskell | None |
---|---|
Language | Haskell2010 |
Symantic for Map
.
Synopsis
- class Sym_Map term where
- map_fromList :: Ord k => term [(k, a)] -> term (Map k a)
- map_mapWithKey :: term (k -> a -> b) -> term (Map k a) -> term (Map k b)
- map_lookup :: Ord k => term k -> term (Map k a) -> term (Maybe a)
- map_keys :: term (Map k a) -> term [k]
- map_member :: Ord k => term k -> term (Map k a) -> term Bool
- map_insert :: Ord k => term k -> term a -> term (Map k a) -> term (Map k a)
- map_delete :: Ord k => term k -> term (Map k a) -> term (Map k a)
- map_difference :: Ord k => term (Map k a) -> term (Map k b) -> term (Map k a)
- map_foldrWithKey :: term (k -> a -> b -> b) -> term b -> term (Map k a) -> term b
- tyMap :: Source src => LenInj vs => Type src vs k -> Type src vs a -> Type src vs (Map k a)
- k1 :: Source src => LenInj vs => KindInj (K k) => Type src (a ': (Proxy k ': vs)) k
- k2 :: Source src => LenInj vs => KindInj (K k) => Type src (a ': (b ': (Proxy k ': vs))) k
- teMap_delete :: TermDef Map '[Proxy a, Proxy k] (Ord k #> (k -> Map k a -> Map k a))
- teMap_insert :: TermDef Map '[Proxy a, Proxy k] (Ord k #> (k -> a -> Map k a -> Map k a))
- teMap_difference :: TermDef Map '[Proxy a, Proxy b, Proxy k] (Ord k #> (Map k a -> Map k b -> Map k a))
- teMap_fromList :: TermDef Map '[Proxy a, Proxy k] (Ord k #> ([(k, a)] -> Map k a))
- teMap_lookup :: TermDef Map '[Proxy a, Proxy k] (Ord k #> (k -> Map k a -> Maybe a))
- teMap_member :: TermDef Map '[Proxy a, Proxy k] (Ord k #> (k -> Map k a -> Bool))
- teMap_foldrWithKey :: TermDef Map '[Proxy a, Proxy b, Proxy k] (() #> ((k -> a -> b -> b) -> b -> Map k a -> b))
- teMap_mapWithKey :: TermDef Map '[Proxy a, Proxy b, Proxy k] (() #> ((k -> a -> b) -> Map k a -> Map k b))
- teMap_keys :: TermDef Map '[Proxy a, Proxy k] (() #> (Map k a -> [k]))
Class Sym_Map
class Sym_Map term where Source #
Nothing
map_fromList :: Ord k => term [(k, a)] -> term (Map k a) Source #
map_mapWithKey :: term (k -> a -> b) -> term (Map k a) -> term (Map k b) Source #
map_lookup :: Ord k => term k -> term (Map k a) -> term (Maybe a) Source #
map_keys :: term (Map k a) -> term [k] Source #
map_member :: Ord k => term k -> term (Map k a) -> term Bool Source #
map_insert :: Ord k => term k -> term a -> term (Map k a) -> term (Map k a) Source #
map_delete :: Ord k => term k -> term (Map k a) -> term (Map k a) Source #
map_difference :: Ord k => term (Map k a) -> term (Map k b) -> term (Map k a) Source #
map_foldrWithKey :: term (k -> a -> b -> b) -> term b -> term (Map k a) -> term b Source #
map_fromList :: Sym_Map (UnT term) => Trans term => Ord k => term [(k, a)] -> term (Map k a) Source #
map_mapWithKey :: Sym_Map (UnT term) => Trans term => term (k -> a -> b) -> term (Map k a) -> term (Map k b) Source #
map_lookup :: Sym_Map (UnT term) => Trans term => Ord k => term k -> term (Map k a) -> term (Maybe a) Source #
map_keys :: Sym_Map (UnT term) => Trans term => term (Map k a) -> term [k] Source #
map_member :: Sym_Map (UnT term) => Trans term => Ord k => term k -> term (Map k a) -> term Bool Source #
map_insert :: Sym_Map (UnT term) => Trans term => Ord k => term k -> term a -> term (Map k a) -> term (Map k a) Source #
map_delete :: Sym_Map (UnT term) => Trans term => Ord k => term k -> term (Map k a) -> term (Map k a) Source #
map_difference :: Sym_Map (UnT term) => Trans term => Ord k => term (Map k a) -> term (Map k b) -> term (Map k a) Source #
map_foldrWithKey :: Sym_Map (UnT term) => Trans term => term (k -> a -> b -> b) -> term b -> term (Map k a) -> term b Source #
Instances
Sym_Map View Source # | |
Defined in Language.Symantic.Lib.Map map_fromList :: Ord k => View [(k, a)] -> View (Map k a) Source # map_mapWithKey :: View (k -> a -> b) -> View (Map k a) -> View (Map k b) Source # map_lookup :: Ord k => View k -> View (Map k a) -> View (Maybe a) Source # map_keys :: View (Map k a) -> View [k] Source # map_member :: Ord k => View k -> View (Map k a) -> View Bool Source # map_insert :: Ord k => View k -> View a -> View (Map k a) -> View (Map k a) Source # map_delete :: Ord k => View k -> View (Map k a) -> View (Map k a) Source # map_difference :: Ord k => View (Map k a) -> View (Map k b) -> View (Map k a) Source # map_foldrWithKey :: View (k -> a -> b -> b) -> View b -> View (Map k a) -> View b Source # | |
Sym_Map Eval Source # | |
Defined in Language.Symantic.Lib.Map map_fromList :: Ord k => Eval [(k, a)] -> Eval (Map k a) Source # map_mapWithKey :: Eval (k -> a -> b) -> Eval (Map k a) -> Eval (Map k b) Source # map_lookup :: Ord k => Eval k -> Eval (Map k a) -> Eval (Maybe a) Source # map_keys :: Eval (Map k a) -> Eval [k] Source # map_member :: Ord k => Eval k -> Eval (Map k a) -> Eval Bool Source # map_insert :: Ord k => Eval k -> Eval a -> Eval (Map k a) -> Eval (Map k a) Source # map_delete :: Ord k => Eval k -> Eval (Map k a) -> Eval (Map k a) Source # map_difference :: Ord k => Eval (Map k a) -> Eval (Map k b) -> Eval (Map k a) Source # map_foldrWithKey :: Eval (k -> a -> b -> b) -> Eval b -> Eval (Map k a) -> Eval b Source # | |
(Sym_Map term, Sym_Lambda term) => Sym_Map (BetaT term) Source # | |
Defined in Language.Symantic.Lib.Map map_fromList :: Ord k => BetaT term [(k, a)] -> BetaT term (Map k a) Source # map_mapWithKey :: BetaT term (k -> a -> b) -> BetaT term (Map k a) -> BetaT term (Map k b) Source # map_lookup :: Ord k => BetaT term k -> BetaT term (Map k a) -> BetaT term (Maybe a) Source # map_keys :: BetaT term (Map k a) -> BetaT term [k] Source # map_member :: Ord k => BetaT term k -> BetaT term (Map k a) -> BetaT term Bool Source # map_insert :: Ord k => BetaT term k -> BetaT term a -> BetaT term (Map k a) -> BetaT term (Map k a) Source # map_delete :: Ord k => BetaT term k -> BetaT term (Map k a) -> BetaT term (Map k a) Source # map_difference :: Ord k => BetaT term (Map k a) -> BetaT term (Map k b) -> BetaT term (Map k a) Source # map_foldrWithKey :: BetaT term (k -> a -> b -> b) -> BetaT term b -> BetaT term (Map k a) -> BetaT term b Source # | |
(Sym_Map r1, Sym_Map r2) => Sym_Map (Dup r1 r2) Source # | |
Defined in Language.Symantic.Lib.Map map_fromList :: Ord k => Dup r1 r2 [(k, a)] -> Dup r1 r2 (Map k a) Source # map_mapWithKey :: Dup r1 r2 (k -> a -> b) -> Dup r1 r2 (Map k a) -> Dup r1 r2 (Map k b) Source # map_lookup :: Ord k => Dup r1 r2 k -> Dup r1 r2 (Map k a) -> Dup r1 r2 (Maybe a) Source # map_keys :: Dup r1 r2 (Map k a) -> Dup r1 r2 [k] Source # map_member :: Ord k => Dup r1 r2 k -> Dup r1 r2 (Map k a) -> Dup r1 r2 Bool Source # map_insert :: Ord k => Dup r1 r2 k -> Dup r1 r2 a -> Dup r1 r2 (Map k a) -> Dup r1 r2 (Map k a) Source # map_delete :: Ord k => Dup r1 r2 k -> Dup r1 r2 (Map k a) -> Dup r1 r2 (Map k a) Source # map_difference :: Ord k => Dup r1 r2 (Map k a) -> Dup r1 r2 (Map k b) -> Dup r1 r2 (Map k a) Source # map_foldrWithKey :: Dup r1 r2 (k -> a -> b -> b) -> Dup r1 r2 b -> Dup r1 r2 (Map k a) -> Dup r1 r2 b Source # |
Type
s
tyMap :: Source src => LenInj vs => Type src vs k -> Type src vs a -> Type src vs (Map k a) Source #
Term
s
teMap_difference :: TermDef Map '[Proxy a, Proxy b, Proxy k] (Ord k #> (Map k a -> Map k b -> Map k a)) Source #
teMap_foldrWithKey :: TermDef Map '[Proxy a, Proxy b, Proxy k] (() #> ((k -> a -> b -> b) -> b -> Map k a -> b)) Source #
teMap_mapWithKey :: TermDef Map '[Proxy a, Proxy b, Proxy k] (() #> ((k -> a -> b) -> Map k a -> Map k b)) Source #