/usr/share/doc/libghc-mono-traversable-doc/html/Data-Containers.html is in libghc-mono-traversable-doc 0.10.0.1-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Data.Containers</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Data-Containers.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Containers.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">mono-traversable-0.10.0.1: Type classes for mapping, folding, and traversing monomorphic containers</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Data.Containers</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Warning: This module should be considered highly experimental.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">class</span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> set, <a href="file:///usr/share/doc/libghc-semigroups-doc/html/Data-Semigroup.html#t:Semigroup">Semigroup</a> set, <a href="Data-MonoTraversable.html#t:MonoFoldable">MonoFoldable</a> set, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> set), <a href="Data-MinLen.html#t:GrowingAppend">GrowingAppend</a> set) => <a href="#t:SetContainer">SetContainer</a> set <span class="keyword">where</span><ul class="subs"><li><span class="keyword">type</span> <a href="#t:ContainerKey">ContainerKey</a> set</li><li><a href="#v:member">member</a> :: <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> set -> set -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:notMember">notMember</a> :: <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> set -> set -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:union">union</a> :: set -> set -> set</li><li><a href="#v:difference">difference</a> :: set -> set -> set</li><li><a href="#v:intersection">intersection</a> :: set -> set -> set</li><li><a href="#v:keys">keys</a> :: set -> [<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> set]</li></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:PolyMap">PolyMap</a> map <span class="keyword">where</span><ul class="subs"><li><a href="#v:differenceMap">differenceMap</a> :: map value1 -> map value2 -> map value1</li><li><a href="#v:intersectionMap">intersectionMap</a> :: map value1 -> map value2 -> map value1</li><li><a href="#v:intersectionWithMap">intersectionWithMap</a> :: (value1 -> value2 -> value3) -> map value1 -> map value2 -> map value3</li></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:BiPolyMap">BiPolyMap</a> map <span class="keyword">where</span><ul class="subs"><li><span class="keyword">type</span> <a href="#t:BPMKeyConstraint">BPMKeyConstraint</a> map key :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/GHC-Exts.html#t:Constraint">Constraint</a></li><li><a href="#v:mapKeysWith">mapKeysWith</a> :: (<a href="Data-Containers.html#t:BPMKeyConstraint">BPMKeyConstraint</a> map k1, <a href="Data-Containers.html#t:BPMKeyConstraint">BPMKeyConstraint</a> map k2) => (v -> v -> v) -> (k1 -> k2) -> map k1 v -> map k2 v</li></ul></li><li class="src short"><span class="keyword">class</span> (<a href="Data-MonoTraversable.html#t:MonoTraversable">MonoTraversable</a> map, <a href="Data-Containers.html#t:SetContainer">SetContainer</a> map) => <a href="#t:IsMap">IsMap</a> map <span class="keyword">where</span><ul class="subs"><li><span class="keyword">type</span> <a href="#t:MapValue">MapValue</a> map</li><li><a href="#v:lookup">lookup</a> :: <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> map -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map)</li><li><a href="#v:insertMap">insertMap</a> :: <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> map -> map</li><li><a href="#v:deleteMap">deleteMap</a> :: <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> map -> map</li><li><a href="#v:singletonMap">singletonMap</a> :: <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> map</li><li><a href="#v:mapFromList">mapFromList</a> :: [(<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map, <a href="Data-Containers.html#t:MapValue">MapValue</a> map)] -> map</li><li><a href="#v:mapToList">mapToList</a> :: map -> [(<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map, <a href="Data-Containers.html#t:MapValue">MapValue</a> map)]</li><li><a href="#v:findWithDefault">findWithDefault</a> :: <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map</li><li><a href="#v:insertWith">insertWith</a> :: (<a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map) -> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> map -> map</li><li><a href="#v:insertWithKey">insertWithKey</a> :: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map) -> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> map -> map</li><li><a href="#v:insertLookupWithKey">insertLookupWithKey</a> :: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map) -> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> map -> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map), map)</li><li><a href="#v:adjustMap">adjustMap</a> :: (<a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map) -> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> map -> map</li><li><a href="#v:adjustWithKey">adjustWithKey</a> :: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map) -> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> map -> map</li><li><a href="#v:updateMap">updateMap</a> :: (<a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map)) -> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> map -> map</li><li><a href="#v:updateWithKey">updateWithKey</a> :: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map)) -> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> map -> map</li><li><a href="#v:updateLookupWithKey">updateLookupWithKey</a> :: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map)) -> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> map -> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map), map)</li><li><a href="#v:alterMap">alterMap</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map) -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map)) -> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> map -> map</li><li><a href="#v:unionWith">unionWith</a> :: (<a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map) -> map -> map -> map</li><li><a href="#v:unionWithKey">unionWithKey</a> :: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map) -> map -> map -> map</li><li><a href="#v:unionsWith">unionsWith</a> :: (<a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map) -> [map] -> map</li><li><a href="#v:mapWithKey">mapWithKey</a> :: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map) -> map -> map</li><li><a href="#v:omapKeysWith">omapKeysWith</a> :: (<a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map) -> (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map) -> map -> map</li></ul></li><li class="src short"><span class="keyword">class</span> (<a href="Data-Containers.html#t:SetContainer">SetContainer</a> set, <a href="Data-MonoTraversable.html#t:Element">Element</a> set ~ <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> set) => <a href="#t:IsSet">IsSet</a> set <span class="keyword">where</span><ul class="subs"><li><a href="#v:insertSet">insertSet</a> :: <a href="Data-MonoTraversable.html#t:Element">Element</a> set -> set -> set</li><li><a href="#v:deleteSet">deleteSet</a> :: <a href="Data-MonoTraversable.html#t:Element">Element</a> set -> set -> set</li><li><a href="#v:singletonSet">singletonSet</a> :: <a href="Data-MonoTraversable.html#t:Element">Element</a> set -> set</li><li><a href="#v:setFromList">setFromList</a> :: [<a href="Data-MonoTraversable.html#t:Element">Element</a> set] -> set</li><li><a href="#v:setToList">setToList</a> :: set -> [<a href="Data-MonoTraversable.html#t:Element">Element</a> set]</li></ul></li><li class="src short"><span class="keyword">class</span> <a href="Data-MonoTraversable.html#t:MonoFunctor">MonoFunctor</a> mono => <a href="#t:MonoZip">MonoZip</a> mono <span class="keyword">where</span><ul class="subs"><li><a href="#v:ozipWith">ozipWith</a> :: (<a href="Data-MonoTraversable.html#t:Element">Element</a> mono -> <a href="Data-MonoTraversable.html#t:Element">Element</a> mono -> <a href="Data-MonoTraversable.html#t:Element">Element</a> mono) -> mono -> mono -> mono</li><li><a href="#v:ozip">ozip</a> :: mono -> mono -> [(<a href="Data-MonoTraversable.html#t:Element">Element</a> mono, <a href="Data-MonoTraversable.html#t:Element">Element</a> mono)]</li><li><a href="#v:ounzip">ounzip</a> :: [(<a href="Data-MonoTraversable.html#t:Element">Element</a> mono, <a href="Data-MonoTraversable.html#t:Element">Element</a> mono)] -> (mono, mono)</li></ul></li><li class="src short"><span class="keyword">class</span> <a href="Data-Containers.html#t:SetContainer">SetContainer</a> set => <a href="#t:HasKeysSet">HasKeysSet</a> set <span class="keyword">where</span><ul class="subs"><li><span class="keyword">type</span> <a href="#t:KeySet">KeySet</a> set</li><li><a href="#v:keysSet">keysSet</a> :: set -> <a href="Data-Containers.html#t:KeySet">KeySet</a> set</li></ul></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">class</span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> set, <a href="file:///usr/share/doc/libghc-semigroups-doc/html/Data-Semigroup.html#t:Semigroup">Semigroup</a> set, <a href="Data-MonoTraversable.html#t:MonoFoldable">MonoFoldable</a> set, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> set), <a href="Data-MinLen.html#t:GrowingAppend">GrowingAppend</a> set) => <a name="t:SetContainer" class="def">SetContainer</a> set <span class="keyword">where</span> <a href="src/Data-Containers.html#SetContainer" class="link">Source</a></p><div class="doc"><p>A container whose values are stored in Key-Value pairs.</p></div><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a name="t:ContainerKey" class="def">ContainerKey</a> set <a href="src/Data-Containers.html#ContainerKey" class="link">Source</a></p><div class="doc"><p>The type of the key</p></div></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:member" class="def">member</a> :: <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> set -> set -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Data-Containers.html#member" class="link">Source</a></p><div class="doc"><p>Check if there is a value with the supplied key
in the container.</p></div><p class="src"><a name="v:notMember" class="def">notMember</a> :: <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> set -> set -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Data-Containers.html#notMember" class="link">Source</a></p><div class="doc"><p>Check if there isn't a value with the supplied key
in the container.</p></div><p class="src"><a name="v:union" class="def">union</a> :: set -> set -> set <a href="src/Data-Containers.html#union" class="link">Source</a></p><div class="doc"><p>Get the union of two containers.</p></div><p class="src"><a name="v:difference" class="def">difference</a> :: set -> set -> set <a href="src/Data-Containers.html#difference" class="link">Source</a></p><div class="doc"><p>Get the difference of two containers.</p></div><p class="src"><a name="v:intersection" class="def">intersection</a> :: set -> set -> set <a href="src/Data-Containers.html#intersection" class="link">Source</a></p><div class="doc"><p>Get the intersection of two containers.</p></div><p class="src"><a name="v:keys" class="def">keys</a> :: set -> [<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> set] <a href="src/Data-Containers.html#keys" class="link">Source</a></p><div class="doc"><p>Get a list of all of the keys in the container.</p></div></div><div class="subs instances"><p id="control.i:SetContainer" class="caption collapser" onclick="toggleSection('i:SetContainer')">Instances</p><div id="section.i:SetContainer" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Containers.html#t:SetContainer">SetContainer</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-IntSet.html#t:IntSet">IntSet</a></span> <a href="src/Data-Containers.html#line-147" class="link">Source</a></td><td class="doc empty"> </td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Eq.html#t:Eq">Eq</a> key => <a href="Data-Containers.html#t:SetContainer">SetContainer</a> [(key, value)]</span> <a href="src/Data-Containers.html#line-162" class="link">Source</a></td><td class="doc empty"> </td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Containers.html#t:SetContainer">SetContainer</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-IntMap-Strict.html#t:IntMap">IntMap</a> value)</span> <a href="src/Data-Containers.html#line-102" class="link">Source</a></td><td class="doc"><p>This instance uses the functions from <a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-IntMap-Strict.html">Data.IntMap.Strict</a>.</p></td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Ord.html#t:Ord">Ord</a> element => <a href="Data-Containers.html#t:SetContainer">SetContainer</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-Set.html#t:Set">Set</a> element)</span> <a href="src/Data-Containers.html#line-117" class="link">Source</a></td><td class="doc empty"> </td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Eq.html#t:Eq">Eq</a> element, <a href="file:///usr/share/doc/libghc-hashable-doc/html/Data-Hashable.html#t:Hashable">Hashable</a> element) => <a href="Data-Containers.html#t:SetContainer">SetContainer</a> (<a href="file:///usr/share/doc/libghc-unordered-containers-doc/html/Data-HashSet.html#t:HashSet">HashSet</a> element)</span> <a href="src/Data-Containers.html#line-132" class="link">Source</a></td><td class="doc empty"> </td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Ord.html#t:Ord">Ord</a> k => <a href="Data-Containers.html#t:SetContainer">SetContainer</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-Map-Lazy.html#t:Map">Map</a> k v)</span> <a href="src/Data-Containers.html#line-66" class="link">Source</a></td><td class="doc"><p>This instance uses the functions from <a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-Map-Strict.html">Data.Map.Strict</a>.</p></td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Eq.html#t:Eq">Eq</a> key, <a href="file:///usr/share/doc/libghc-hashable-doc/html/Data-Hashable.html#t:Hashable">Hashable</a> key) => <a href="Data-Containers.html#t:SetContainer">SetContainer</a> (<a href="file:///usr/share/doc/libghc-unordered-containers-doc/html/Data-HashMap-Strict.html#t:HashMap">HashMap</a> key value)</span> <a href="src/Data-Containers.html#line-84" class="link">Source</a></td><td class="doc"><p>This instance uses the functions from <a href="file:///usr/share/doc/libghc-unordered-containers-doc/html/Data-HashMap-Strict.html">Data.HashMap.Strict</a>.</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:PolyMap" class="def">PolyMap</a> map <span class="keyword">where</span> <a href="src/Data-Containers.html#PolyMap" class="link">Source</a></p><div class="doc"><p>A guaranteed-polymorphic <code>Map</code>, which allows for more polymorphic versions
of functions.</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:differenceMap" class="def">differenceMap</a> :: map value1 -> map value2 -> map value1 <a href="src/Data-Containers.html#differenceMap" class="link">Source</a></p><div class="doc"><p>Get the difference between two maps, using the left map's values.</p></div><p class="src"><a name="v:intersectionMap" class="def">intersectionMap</a> :: map value1 -> map value2 -> map value1 <a href="src/Data-Containers.html#intersectionMap" class="link">Source</a></p><div class="doc"><p>Get the intersection of two maps, using the left map's values.</p></div><p class="src"><a name="v:intersectionWithMap" class="def">intersectionWithMap</a> :: (value1 -> value2 -> value3) -> map value1 -> map value2 -> map value3 <a href="src/Data-Containers.html#intersectionWithMap" class="link">Source</a></p><div class="doc"><p>Get the intersection of two maps with a supplied function
that takes in the left map's value and the right map's value.</p></div></div><div class="subs instances"><p id="control.i:PolyMap" class="caption collapser" onclick="toggleSection('i:PolyMap')">Instances</p><div id="section.i:PolyMap" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Containers.html#t:PolyMap">PolyMap</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-IntMap-Strict.html#t:IntMap">IntMap</a></span> <a href="src/Data-Containers.html#line-228" class="link">Source</a></td><td class="doc"><p>This instance uses the functions from <a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-IntMap-Strict.html">Data.IntMap.Strict</a>.</p></td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Ord.html#t:Ord">Ord</a> key => <a href="Data-Containers.html#t:PolyMap">PolyMap</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-Map-Lazy.html#t:Map">Map</a> key)</span> <a href="src/Data-Containers.html#line-204" class="link">Source</a></td><td class="doc"><p>This instance uses the functions from <a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-Map-Strict.html">Data.Map.Strict</a>.</p></td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Eq.html#t:Eq">Eq</a> key, <a href="file:///usr/share/doc/libghc-hashable-doc/html/Data-Hashable.html#t:Hashable">Hashable</a> key) => <a href="Data-Containers.html#t:PolyMap">PolyMap</a> (<a href="file:///usr/share/doc/libghc-unordered-containers-doc/html/Data-HashMap-Strict.html#t:HashMap">HashMap</a> key)</span> <a href="src/Data-Containers.html#line-216" class="link">Source</a></td><td class="doc"><p>This instance uses the functions from <a href="file:///usr/share/doc/libghc-unordered-containers-doc/html/Data-HashMap-Strict.html">Data.HashMap.Strict</a>.</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:BiPolyMap" class="def">BiPolyMap</a> map <span class="keyword">where</span> <a href="src/Data-Containers.html#BiPolyMap" class="link">Source</a></p><div class="doc"><p>A <code>Map</code> type polymorphic in both its key and value.</p></div><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a name="t:BPMKeyConstraint" class="def">BPMKeyConstraint</a> map key :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/GHC-Exts.html#t:Constraint">Constraint</a> <a href="src/Data-Containers.html#BPMKeyConstraint" class="link">Source</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:mapKeysWith" class="def">mapKeysWith</a> <a href="src/Data-Containers.html#mapKeysWith" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:BPMKeyConstraint">BPMKeyConstraint</a> map k1, <a href="Data-Containers.html#t:BPMKeyConstraint">BPMKeyConstraint</a> map k2)</td><td class="doc empty"> </td></tr><tr><td class="src">=> (v -> v -> v)</td><td class="doc"><p>combine values that now overlap</p></td></tr><tr><td class="src">-> (k1 -> k2)</td><td class="doc empty"> </td></tr><tr><td class="src">-> map k1 v</td><td class="doc empty"> </td></tr><tr><td class="src">-> map k2 v</td><td class="doc empty"> </td></tr></table></div></div><div class="subs instances"><p id="control.i:BiPolyMap" class="caption collapser" onclick="toggleSection('i:BiPolyMap')">Instances</p><div id="section.i:BiPolyMap" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Containers.html#t:BiPolyMap">BiPolyMap</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-Map-Lazy.html#t:Map">Map</a></span> <a href="src/Data-Containers.html#line-245" class="link">Source</a></td><td class="doc empty"> </td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Containers.html#t:BiPolyMap">BiPolyMap</a> <a href="file:///usr/share/doc/libghc-unordered-containers-doc/html/Data-HashMap-Strict.html#t:HashMap">HashMap</a></span> <a href="src/Data-Containers.html#line-249" class="link">Source</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> (<a href="Data-MonoTraversable.html#t:MonoTraversable">MonoTraversable</a> map, <a href="Data-Containers.html#t:SetContainer">SetContainer</a> map) => <a name="t:IsMap" class="def">IsMap</a> map <span class="keyword">where</span> <a href="src/Data-Containers.html#IsMap" class="link">Source</a></p><div class="doc"><p>Polymorphic typeclass for interacting with different map types</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Data-Containers.html#v:lookup">lookup</a>, <a href="Data-Containers.html#v:insertMap">insertMap</a>, <a href="Data-Containers.html#v:deleteMap">deleteMap</a>, <a href="Data-Containers.html#v:singletonMap">singletonMap</a>, <a href="Data-Containers.html#v:mapFromList">mapFromList</a>, <a href="Data-Containers.html#v:mapToList">mapToList</a></p></div><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a name="t:MapValue" class="def">MapValue</a> map <a href="src/Data-Containers.html#MapValue" class="link">Source</a></p><div class="doc"><p>In some cases, <code><a href="Data-Containers.html#t:MapValue">MapValue</a></code> and <code><a href="Data-MonoTraversable.html#t:Element">Element</a></code> will be different, e.g., the
<code><a href="Data-Containers.html#t:IsMap">IsMap</a></code> instance of associated lists.</p></div></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:lookup" class="def">lookup</a> :: <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> map -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map) <a href="src/Data-Containers.html#lookup" class="link">Source</a></p><div class="doc"><p>Look up a value in a map with a specified key.</p></div><p class="src"><a name="v:insertMap" class="def">insertMap</a> :: <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> map -> map <a href="src/Data-Containers.html#insertMap" class="link">Source</a></p><div class="doc"><p>Insert a key-value pair into a map.</p></div><p class="src"><a name="v:deleteMap" class="def">deleteMap</a> :: <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> map -> map <a href="src/Data-Containers.html#deleteMap" class="link">Source</a></p><div class="doc"><p>Delete a key-value pair of a map using a specified key.</p></div><p class="src"><a name="v:singletonMap" class="def">singletonMap</a> :: <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> map <a href="src/Data-Containers.html#singletonMap" class="link">Source</a></p><div class="doc"><p>Create a map from a single key-value pair.</p></div><p class="src"><a name="v:mapFromList" class="def">mapFromList</a> :: [(<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map, <a href="Data-Containers.html#t:MapValue">MapValue</a> map)] -> map <a href="src/Data-Containers.html#mapFromList" class="link">Source</a></p><div class="doc"><p>Convert a list of key-value pairs to a map</p></div><p class="src"><a name="v:mapToList" class="def">mapToList</a> :: map -> [(<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map, <a href="Data-Containers.html#t:MapValue">MapValue</a> map)] <a href="src/Data-Containers.html#mapToList" class="link">Source</a></p><div class="doc"><p>Convert a map to a list of key-value pairs.</p></div><p class="src"><a name="v:findWithDefault" class="def">findWithDefault</a> :: <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map <a href="src/Data-Containers.html#findWithDefault" class="link">Source</a></p><div class="doc"><p>Like <code><a href="Data-Containers.html#v:lookup">lookup</a></code>, but uses a default value when the key does
not exist in the map.</p></div><p class="src"><a name="v:insertWith" class="def">insertWith</a> <a href="src/Data-Containers.html#insertWith" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map)</td><td class="doc"><p>function that accepts the new value and the
previous value and returns the value that will be
set in the map.</p></td></tr><tr><td class="src">-> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map</td><td class="doc"><p>key</p></td></tr><tr><td class="src">-> <a href="Data-Containers.html#t:MapValue">MapValue</a> map</td><td class="doc"><p>new value to insert</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>input map</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>resulting map</p></td></tr></table></div><div class="doc"><p>Insert a key-value pair into a map.</p><p>Inserts the value directly if the key does not exist in the map. Otherwise,
apply a supplied function that accepts the new value and the previous value
and insert that result into the map.</p></div><p class="src"><a name="v:insertWithKey" class="def">insertWithKey</a> <a href="src/Data-Containers.html#insertWithKey" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map)</td><td class="doc"><p>function that accepts the key, the new value, and the
previous value and returns the value that will be
set in the map.</p></td></tr><tr><td class="src">-> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map</td><td class="doc"><p>key</p></td></tr><tr><td class="src">-> <a href="Data-Containers.html#t:MapValue">MapValue</a> map</td><td class="doc"><p>new value to insert</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>input map</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>resulting map</p></td></tr></table></div><div class="doc"><p>Insert a key-value pair into a map.</p><p>Inserts the value directly if the key does not exist in the map. Otherwise,
apply a supplied function that accepts the key, the new value, and the
previous value and insert that result into the map.</p></div><p class="src"><a name="v:insertLookupWithKey" class="def">insertLookupWithKey</a> <a href="src/Data-Containers.html#insertLookupWithKey" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map)</td><td class="doc"><p>function that accepts the key, the new value, and the
previous value and returns the value that will be
set in the map.</p></td></tr><tr><td class="src">-> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map</td><td class="doc"><p>key</p></td></tr><tr><td class="src">-> <a href="Data-Containers.html#t:MapValue">MapValue</a> map</td><td class="doc"><p>new value to insert</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>input map</p></td></tr><tr><td class="src">-> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map), map)</td><td class="doc"><p>previous value and the resulting map</p></td></tr></table></div><div class="doc"><p>Insert a key-value pair into a map, return the previous key's value
if it existed.</p><p>Inserts the value directly if the key does not exist in the map. Otherwise,
apply a supplied function that accepts the key, the new value, and the
previous value and insert that result into the map.</p></div><p class="src"><a name="v:adjustMap" class="def">adjustMap</a> <a href="src/Data-Containers.html#adjustMap" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map)</td><td class="doc"><p>function to apply to the previous value</p></td></tr><tr><td class="src">-> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map</td><td class="doc"><p>key</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>input map</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>resulting map</p></td></tr></table></div><div class="doc"><p>Apply a function to the value of a given key.</p><p>Returns the input map when the key-value pair does not exist.</p></div><p class="src"><a name="v:adjustWithKey" class="def">adjustWithKey</a> <a href="src/Data-Containers.html#adjustWithKey" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map)</td><td class="doc"><p>function that accepts the key and the previous value
and returns the new value</p></td></tr><tr><td class="src">-> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map</td><td class="doc"><p>key</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>input map</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>resulting map</p></td></tr></table></div><div class="doc"><p>Equivalent to <code><a href="Data-Containers.html#v:adjustMap">adjustMap</a></code>, but the function accepts the key,
as well as the previous value.</p></div><p class="src"><a name="v:updateMap" class="def">updateMap</a> <a href="src/Data-Containers.html#updateMap" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map))</td><td class="doc"><p>function that accepts the previous value
and returns the new value or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Nothing">Nothing</a></code></p></td></tr><tr><td class="src">-> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map</td><td class="doc"><p>key</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>input map</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>resulting map</p></td></tr></table></div><div class="doc"><p>Apply a function to the value of a given key.</p><p>If the function returns <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Nothing">Nothing</a></code>, this deletes the key-value pair.</p><p>Returns the input map when the key-value pair does not exist.</p></div><p class="src"><a name="v:updateWithKey" class="def">updateWithKey</a> <a href="src/Data-Containers.html#updateWithKey" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map))</td><td class="doc"><p>function that accepts the key and the previous value
and returns the new value or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Nothing">Nothing</a></code></p></td></tr><tr><td class="src">-> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map</td><td class="doc"><p>key</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>input map</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>resulting map</p></td></tr></table></div><div class="doc"><p>Equivalent to <code><a href="Data-Containers.html#v:updateMap">updateMap</a></code>, but the function accepts the key,
as well as the previous value.</p></div><p class="src"><a name="v:updateLookupWithKey" class="def">updateLookupWithKey</a> <a href="src/Data-Containers.html#updateLookupWithKey" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map))</td><td class="doc"><p>function that accepts the key and the previous value
and returns the new value or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Nothing">Nothing</a></code></p></td></tr><tr><td class="src">-> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map</td><td class="doc"><p>key</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>input map</p></td></tr><tr><td class="src">-> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map), map)</td><td class="doc"><p>previous/new value and the resulting map</p></td></tr></table></div><div class="doc"><p>Apply a function to the value of a given key.</p><p>If the map does not contain the key this returns <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Nothing">Nothing</a></code>
and the input map.</p><p>If the map does contain the key but the function returns <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Nothing">Nothing</a></code>,
this returns the previous value and the map with the key-value pair removed.</p><p>If the map contains the key and the function returns a value,
this returns the new value and the map with the key-value pair with the new value.</p></div><p class="src"><a name="v:alterMap" class="def">alterMap</a> <a href="src/Data-Containers.html#alterMap" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map) -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Data-Containers.html#t:MapValue">MapValue</a> map))</td><td class="doc"><p>function that accepts the previous value and
returns the new value or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Nothing">Nothing</a></code></p></td></tr><tr><td class="src">-> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map</td><td class="doc"><p>key</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>input map</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>resulting map</p></td></tr></table></div><div class="doc"><p>Update/Delete the value of a given key.</p><p>Applies a function to previous value of a given key, if it results in <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Nothing">Nothing</a></code>
delete the key-value pair from the map, otherwise replace the previous value
with the new value.</p></div><p class="src"><a name="v:unionWith" class="def">unionWith</a> <a href="src/Data-Containers.html#unionWith" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map)</td><td class="doc"><p>function that accepts the first map's value and the second map's value
and returns the new value that will be used</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>first map</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>second map</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>resulting map</p></td></tr></table></div><div class="doc"><p>Combine two maps.</p><p>When a key exists in both maps, apply a function
to both of the values and use the result of that as the value
of the key in the resulting map.</p></div><p class="src"><a name="v:unionWithKey" class="def">unionWithKey</a> <a href="src/Data-Containers.html#unionWithKey" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map)</td><td class="doc"><p>function that accepts the key, the first map's value and the
second map's value and returns the new value that will be used</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>first map</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>second map</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>resulting map</p></td></tr></table></div><p class="src"><a name="v:unionsWith" class="def">unionsWith</a> <a href="src/Data-Containers.html#unionsWith" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map)</td><td class="doc"><p>function that accepts the first map's value and the second map's value
and returns the new value that will be used</p></td></tr><tr><td class="src">-> [map]</td><td class="doc"><p>input list of maps</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>resulting map</p></td></tr></table></div><div class="doc"><p>Combine a list of maps.</p><p>When a key exists in two different maps, apply a function
to both of the values and use the result of that as the value
of the key in the resulting map.</p></div><p class="src"><a name="v:mapWithKey" class="def">mapWithKey</a> <a href="src/Data-Containers.html#mapWithKey" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map)</td><td class="doc"><p>function that accepts the key and the previous value
and returns the new value</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>input map</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>resulting map</p></td></tr></table></div><div class="doc"><p>Apply a function over every key-value pair of a map.</p></div><p class="src"><a name="v:omapKeysWith" class="def">omapKeysWith</a> <a href="src/Data-Containers.html#omapKeysWith" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map -> <a href="Data-Containers.html#t:MapValue">MapValue</a> map)</td><td class="doc"><p>function that accepts the first map's value and the second map's value
and returns the new value that will be used</p></td></tr><tr><td class="src">-> (<a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map -> <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> map)</td><td class="doc"><p>function that accepts the previous key and
returns the new key</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>input map</p></td></tr><tr><td class="src">-> map</td><td class="doc"><p>resulting map</p></td></tr></table></div><div class="doc"><p>Apply a function over every key of a pair and run
<code><a href="Data-Containers.html#v:unionsWith">unionsWith</a></code> over the results.</p></div></div><div class="subs instances"><p id="control.i:IsMap" class="caption collapser" onclick="toggleSection('i:IsMap')">Instances</p><div id="section.i:IsMap" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Eq.html#t:Eq">Eq</a> key => <a href="Data-Containers.html#t:IsMap">IsMap</a> [(key, value)]</span> <a href="src/Data-Containers.html#line-686" class="link">Source</a></td><td class="doc empty"> </td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Containers.html#t:IsMap">IsMap</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-IntMap-Strict.html#t:IntMap">IntMap</a> value)</span> <a href="src/Data-Containers.html#line-639" class="link">Source</a></td><td class="doc"><p>This instance uses the functions from <a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-IntMap-Strict.html">Data.IntMap.Strict</a>.</p></td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Ord.html#t:Ord">Ord</a> key => <a href="Data-Containers.html#t:IsMap">IsMap</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-Map-Lazy.html#t:Map">Map</a> key value)</span> <a href="src/Data-Containers.html#line-553" class="link">Source</a></td><td class="doc"><p>This instance uses the functions from <a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-Map-Strict.html">Data.Map.Strict</a>.</p></td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Eq.html#t:Eq">Eq</a> key, <a href="file:///usr/share/doc/libghc-hashable-doc/html/Data-Hashable.html#t:Hashable">Hashable</a> key) => <a href="Data-Containers.html#t:IsMap">IsMap</a> (<a href="file:///usr/share/doc/libghc-unordered-containers-doc/html/Data-HashMap-Strict.html#t:HashMap">HashMap</a> key value)</span> <a href="src/Data-Containers.html#line-602" class="link">Source</a></td><td class="doc"><p>This instance uses the functions from <a href="file:///usr/share/doc/libghc-unordered-containers-doc/html/Data-HashMap-Strict.html">Data.HashMap.Strict</a>.</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> (<a href="Data-Containers.html#t:SetContainer">SetContainer</a> set, <a href="Data-MonoTraversable.html#t:Element">Element</a> set ~ <a href="Data-Containers.html#t:ContainerKey">ContainerKey</a> set) => <a name="t:IsSet" class="def">IsSet</a> set <span class="keyword">where</span> <a href="src/Data-Containers.html#IsSet" class="link">Source</a></p><div class="doc"><p>Polymorphic typeclass for interacting with different set types</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:insertSet" class="def">insertSet</a> :: <a href="Data-MonoTraversable.html#t:Element">Element</a> set -> set -> set <a href="src/Data-Containers.html#insertSet" class="link">Source</a></p><div class="doc"><p>Insert a value into a set.</p></div><p class="src"><a name="v:deleteSet" class="def">deleteSet</a> :: <a href="Data-MonoTraversable.html#t:Element">Element</a> set -> set -> set <a href="src/Data-Containers.html#deleteSet" class="link">Source</a></p><div class="doc"><p>Delete a value from a set.</p></div><p class="src"><a name="v:singletonSet" class="def">singletonSet</a> :: <a href="Data-MonoTraversable.html#t:Element">Element</a> set -> set <a href="src/Data-Containers.html#singletonSet" class="link">Source</a></p><div class="doc"><p>Create a set from a single element.</p></div><p class="src"><a name="v:setFromList" class="def">setFromList</a> :: [<a href="Data-MonoTraversable.html#t:Element">Element</a> set] -> set <a href="src/Data-Containers.html#setFromList" class="link">Source</a></p><div class="doc"><p>Convert a list to a set.</p></div><p class="src"><a name="v:setToList" class="def">setToList</a> :: set -> [<a href="Data-MonoTraversable.html#t:Element">Element</a> set] <a href="src/Data-Containers.html#setToList" class="link">Source</a></p><div class="doc"><p>Convert a set to a list.</p></div></div><div class="subs instances"><p id="control.i:IsSet" class="caption collapser" onclick="toggleSection('i:IsSet')">Instances</p><div id="section.i:IsSet" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Containers.html#t:IsSet">IsSet</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-IntSet.html#t:IntSet">IntSet</a></span> <a href="src/Data-Containers.html#line-742" class="link">Source</a></td><td class="doc empty"> </td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Ord.html#t:Ord">Ord</a> element => <a href="Data-Containers.html#t:IsSet">IsSet</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-Set.html#t:Set">Set</a> element)</span> <a href="src/Data-Containers.html#line-718" class="link">Source</a></td><td class="doc empty"> </td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Eq.html#t:Eq">Eq</a> element, <a href="file:///usr/share/doc/libghc-hashable-doc/html/Data-Hashable.html#t:Hashable">Hashable</a> element) => <a href="Data-Containers.html#t:IsSet">IsSet</a> (<a href="file:///usr/share/doc/libghc-unordered-containers-doc/html/Data-HashSet.html#t:HashSet">HashSet</a> element)</span> <a href="src/Data-Containers.html#line-730" class="link">Source</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="Data-MonoTraversable.html#t:MonoFunctor">MonoFunctor</a> mono => <a name="t:MonoZip" class="def">MonoZip</a> mono <span class="keyword">where</span> <a href="src/Data-Containers.html#MonoZip" class="link">Source</a></p><div class="doc"><p>Zip operations on <code><a href="Data-MonoTraversable.html#t:MonoFunctor">MonoFunctor</a></code>s.</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:ozipWith" class="def">ozipWith</a> :: (<a href="Data-MonoTraversable.html#t:Element">Element</a> mono -> <a href="Data-MonoTraversable.html#t:Element">Element</a> mono -> <a href="Data-MonoTraversable.html#t:Element">Element</a> mono) -> mono -> mono -> mono <a href="src/Data-Containers.html#ozipWith" class="link">Source</a></p><div class="doc"><p>Combine each element of two <code><a href="Data-Containers.html#t:MonoZip">MonoZip</a></code>s using a supplied function.</p></div><p class="src"><a name="v:ozip" class="def">ozip</a> :: mono -> mono -> [(<a href="Data-MonoTraversable.html#t:Element">Element</a> mono, <a href="Data-MonoTraversable.html#t:Element">Element</a> mono)] <a href="src/Data-Containers.html#ozip" class="link">Source</a></p><div class="doc"><p>Take two <code><a href="Data-Containers.html#t:MonoZip">MonoZip</a></code>s and return a list of the pairs of their elements.</p></div><p class="src"><a name="v:ounzip" class="def">ounzip</a> :: [(<a href="Data-MonoTraversable.html#t:Element">Element</a> mono, <a href="Data-MonoTraversable.html#t:Element">Element</a> mono)] -> (mono, mono) <a href="src/Data-Containers.html#ounzip" class="link">Source</a></p><div class="doc"><p>Take a list of pairs of elements and return a <code><a href="Data-Containers.html#t:MonoZip">MonoZip</a></code> of the first
components and a <code><a href="Data-Containers.html#t:MonoZip">MonoZip</a></code> of the second components.</p></div></div><div class="subs instances"><p id="control.i:MonoZip" class="caption collapser" onclick="toggleSection('i:MonoZip')">Instances</p><div id="section.i:MonoZip" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Containers.html#t:MonoZip">MonoZip</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.6.0/Data-ByteString.html#t:ByteString">ByteString</a></span> <a href="src/Data-Containers.html#line-768" class="link">Source</a></td><td class="doc empty"> </td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Containers.html#t:MonoZip">MonoZip</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/bytestring-0.10.6.0/Data-ByteString-Lazy.html#t:ByteString">ByteString</a></span> <a href="src/Data-Containers.html#line-775" class="link">Source</a></td><td class="doc empty"> </td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Containers.html#t:MonoZip">MonoZip</a> <a href="file:///usr/share/doc/libghc-text-doc/html/Data-Text-Lazy.html#t:Text">Text</a></span> <a href="src/Data-Containers.html#line-789" class="link">Source</a></td><td class="doc empty"> </td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Containers.html#t:MonoZip">MonoZip</a> <a href="file:///usr/share/doc/libghc-text-doc/html/Data-Text.html#t:Text">Text</a></span> <a href="src/Data-Containers.html#line-782" class="link">Source</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="Data-Containers.html#t:SetContainer">SetContainer</a> set => <a name="t:HasKeysSet" class="def">HasKeysSet</a> set <span class="keyword">where</span> <a href="src/Data-Containers.html#HasKeysSet" class="link">Source</a></p><div class="doc"><p>Type class for maps whose keys can be converted into sets.</p></div><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a name="t:KeySet" class="def">KeySet</a> set <a href="src/Data-Containers.html#KeySet" class="link">Source</a></p><div class="doc"><p>Type of the key set.</p></div></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:keysSet" class="def">keysSet</a> :: set -> <a href="Data-Containers.html#t:KeySet">KeySet</a> set <a href="src/Data-Containers.html#keysSet" class="link">Source</a></p><div class="doc"><p>Convert a map into a set of its keys.</p></div></div><div class="subs instances"><p id="control.i:HasKeysSet" class="caption collapser" onclick="toggleSection('i:HasKeysSet')">Instances</p><div id="section.i:HasKeysSet" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Containers.html#t:HasKeysSet">HasKeysSet</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-IntMap-Strict.html#t:IntMap">IntMap</a> v)</span> <a href="src/Data-Containers.html#line-808" class="link">Source</a></td><td class="doc empty"> </td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Ord.html#t:Ord">Ord</a> k => <a href="Data-Containers.html#t:HasKeysSet">HasKeysSet</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/containers-0.5.6.2/Data-Map-Lazy.html#t:Map">Map</a> k v)</span> <a href="src/Data-Containers.html#line-805" class="link">Source</a></td><td class="doc empty"> </td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="file:///usr/share/doc/libghc-hashable-doc/html/Data-Hashable.html#t:Hashable">Hashable</a> k, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Eq.html#t:Eq">Eq</a> k) => <a href="Data-Containers.html#t:HasKeysSet">HasKeysSet</a> (<a href="file:///usr/share/doc/libghc-unordered-containers-doc/html/Data-HashMap-Strict.html#t:HashMap">HashMap</a> k v)</span> <a href="src/Data-Containers.html#line-811" class="link">Source</a></td><td class="doc empty"> </td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.1</p></div></body></html>
|