packages feed

hydra-0.12.0: src/main/haskell/Hydra/Dsl/Lib/Maps.hs

module Hydra.Dsl.Lib.Maps where

import Hydra.Phantoms
import Hydra.Sources.Libraries
import qualified Hydra.Dsl.Terms as Terms
import Hydra.Dsl.Phantoms

import Data.Map


alter :: TTerm (Maybe v -> Maybe v) -> TTerm k -> TTerm (Map k v) -> TTerm (Map k v)
alter = primitive3 _maps_alter

bimap :: TTerm (k1 -> k2) -> TTerm (v1 -> v2) -> TTerm (Map k1 v1) -> TTerm (Map k2 v2)
bimap = primitive3 _maps_bimap

elems :: TTerm (Map k v) -> TTerm [v]
elems = primitive1 _maps_elems

empty :: TTerm (Map k v)
empty = primitive _maps_empty

filter :: TTerm (v -> Bool) -> TTerm (Map k v) -> TTerm (Map k v)
filter = primitive2 _maps_filter

filterWithKey :: TTerm (k -> v -> Bool) -> TTerm (Map k v) -> TTerm (Map k v)
filterWithKey = primitive2 _maps_filterWithKey

findWithDefault :: TTerm v -> TTerm k -> TTerm (Map k v) -> TTerm v
findWithDefault = primitive3 _maps_findWithDefault

fromList :: TTerm [(k, v)] -> TTerm (Map k v)
fromList = primitive1 _maps_fromList

insert :: TTerm k -> TTerm v -> TTerm (Map k v) -> TTerm (Map k v)
insert = primitive3 _maps_insert

keys :: TTerm (Map k v) -> TTerm [k]
keys = primitive1 _maps_keys

lookup :: TTerm k -> TTerm (Map k v) -> TTerm (Maybe v)
lookup = primitive2 _maps_lookup

map :: TTerm (v1 -> v2) -> TTerm (Map k v1) -> TTerm (Map k v2)
map = primitive2 _maps_map

mapKeys :: TTerm (k1 -> k2) -> TTerm (Map k1 v) -> TTerm (Map k2 v)
mapKeys = primitive2 _maps_mapKeys

member :: TTerm k -> TTerm (Map k v) -> TTerm Bool
member = primitive2 _maps_member

null :: TTerm (Map k v) -> TTerm Bool
null = primitive1 _maps_null

remove :: TTerm k -> TTerm (Map k v) -> TTerm (Map k v)
remove = primitive2 _maps_remove

singleton :: TTerm k -> TTerm v -> TTerm (Map k v)
singleton = primitive2 _maps_singleton

size :: TTerm (Map k v) -> TTerm Int
size = primitive1 _maps_size

toList :: TTerm (Map k v) -> TTerm [(k, v)]
toList = primitive1 _maps_toList

union :: TTerm (Map k v) -> TTerm (Map k v) -> TTerm (Map k v)
union = primitive2 _maps_union