import "StandardLibrary" hiding (contains) importJava "gnu.trove.map.hash.THashMap" where data T a b @JavaName "" create :: () -> T a b put :: T a b -> a -> b -> Maybe b get :: T a b -> a -> Maybe b @JavaName get unsafeGet :: T a b -> a -> b contains :: T a b -> a -> Boolean size :: T a b -> Integer importJava "org.simantics.scl.osgi.map.HashMapUtils" where entries :: T a b -> [(a,b)] fromList :: [(a,b)] -> T a b fromList entries = do result = create () for entries (\(k,v) -> do put result k v; ()) result