symantic-lib-0.0.3.20180213: Symantics for common types.

Safe HaskellNone
LanguageHaskell2010

Language.Symantic.Lib.Map

Contents

Description

Symantic for Map.

Synopsis

Class Sym_Map

class Sym_Map term where Source #

Methods

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 # 

Methods

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 # 

Methods

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 # 

Methods

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 # 

Methods

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 #

Types

tyMap :: Source src => LenInj vs => Type src vs k -> Type src vs a -> Type src vs (Map k a) Source #

k1 :: Source src => LenInj vs => KindInj (K k) => Type src (a ': (Proxy k ': vs)) k Source #

k2 :: Source src => LenInj vs => KindInj (K k) => Type src (a ': (b ': (Proxy k ': vs))) k Source #

Terms

teMap_delete :: TermDef Map '[Proxy a, Proxy k] (Ord k #> (k -> Map k a -> Map k a)) Source #

teMap_insert :: TermDef Map '[Proxy a, Proxy k] (Ord k #> (k -> a -> Map k a -> Map k a)) Source #

teMap_difference :: TermDef Map '[Proxy a, Proxy b, Proxy k] (Ord k #> (Map k a -> Map k b -> Map k a)) Source #

teMap_fromList :: TermDef Map '[Proxy a, Proxy k] (Ord k #> ([(k, a)] -> Map k a)) Source #

teMap_lookup :: TermDef Map '[Proxy a, Proxy k] (Ord k #> (k -> Map k a -> Maybe a)) Source #

teMap_member :: TermDef Map '[Proxy a, Proxy k] (Ord k #> (k -> Map k a -> Bool)) 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 #

teMap_keys :: TermDef Map '[Proxy a, Proxy k] (() #> (Map k a -> [k])) Source #

Orphan instances

ClassInstancesFor (* -> * -> *) Map Source # 

Methods

proveConstraintFor :: Source src => proxy c -> Type Constraint src vs q -> Maybe (Qual q) #

TypeInstancesFor (* -> * -> *) Map Source # 

Methods

expandFamFor :: Source src => proxy c -> Len Type vs -> Const kt src fam -> Types src vs ts -> Maybe (Type kt src vs (Fam kt fam ts)) #

NameTyOf (* -> * -> *) Map Source # 

Methods

nameTyOf :: proxy c -> Mod NameTy #

isNameTyOp :: proxy c -> Bool #

FixityOf (* -> * -> *) Map Source # 

Methods

fixityOf :: proxy c -> Maybe Fixity #

(Source src, SymInj (* -> * -> *) ss Map) => ModuleFor (* -> * -> *) src ss Map Source # 

Methods

moduleFor :: (PathMod, Module ss Map) #

Gram_Term_AtomsFor (* -> * -> *) src ss g Map Source # 

Methods

g_term_atomsFor :: [CF Map (AST_Term ss g)] #