<html xmlns="http://www.w3.org/1999/xhtml" ><head ><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js" ></script ></head ><body ><pre ><span class="hs-pragma" >{-# LANGUAGE Haskell2010 #-}</span ><span > </span ><span id="line-2" ></span ><span class="hs-keyword" >module</span ><span > </span ><span class="hs-identifier" >Operators</span ><span > </span ><span class="hs-keyword" >where</span ><span > </span ><span id="line-3" ></span ><span > </span ><span id="line-4" ></span ><span > </span ><span id="line-5" ></span ><span id="" ><span class="annot" ><a href="Operators.html#%2B%2B%2B" ><span class="hs-operator hs-type" >(+++)</span ></a ></span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ></span ><span > </span ><span id="line-6" ></span ><span id="" ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ></span ><span > </span ><span id="%2B%2B%2B" ><span class="annot" ><span class="annottext" >+++ :: forall a. [a] -> [a] -> [a] </span ><a href="Operators.html#%2B%2B%2B" ><span class="hs-operator hs-var hs-var" >+++</span ></a ></span ></span ><span > </span ><span id="" ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >b</span ></a ></span ></span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ><span > </span ><span class="annot" ><span class="annottext" >[a] -> [a] -> [a] forall a. [a] -> [a] -> [a] </span ><span class="hs-operator hs-var" >++</span ></span ><span > </span ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >b</span ></a ></span ><span > </span ><span class="annot" ><span class="annottext" >[a] -> [a] -> [a] forall a. [a] -> [a] -> [a] </span ><span class="hs-operator hs-var" >++</span ></span ><span > </span ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ><span > </span ><span id="line-7" ></span ><span > </span ><span id="line-8" ></span ><span id="" ><span class="annot" ><a href="Operators.html#%24%24%24" ><span class="hs-operator hs-type" >($$$)</span ></a ></span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ></span ><span > </span ><span id="line-9" ></span ><span id="" ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ></span ><span > </span ><span id="%24%24%24" ><span class="annot" ><span class="annottext" >$$$ :: forall a. [a] -> [a] -> [a] </span ><a href="Operators.html#%24%24%24" ><span class="hs-operator hs-var hs-var" >$$$</span ></a ></span ></span ><span > </span ><span id="" ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >b</span ></a ></span ></span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >b</span ></a ></span ><span > </span ><span class="annot" ><span class="annottext" >[a] -> [a] -> [a] forall a. [a] -> [a] -> [a] </span ><a href="Operators.html#%2B%2B%2B" ><span class="hs-operator hs-var" >+++</span ></a ></span ><span > </span ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ><span > </span ><span id="line-10" ></span ><span > </span ><span id="line-11" ></span ><span id="" ><span class="annot" ><a href="Operators.html#%2A%2A%2A" ><span class="hs-operator hs-type" >(***)</span ></a ></span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ></span ><span > </span ><span id="line-12" ></span ><span id="%2A%2A%2A" ><span class="annot" ><span class="annottext" >*** :: forall a. [a] -> [a] -> [a] </span ><a href="Operators.html#%2A%2A%2A" ><span class="hs-operator hs-var hs-var" >(***)</span ></a ></span ></span ><span > </span ><span id="" ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ></span ><span > </span ><span class="hs-special" >[</span ><span class="hs-special" >]</span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ><span > </span ><span id="line-13" ></span ><span class="annot" ><a href="Operators.html#%2A%2A%2A" ><span class="hs-operator hs-var" >(***)</span ></a ></span ><span > </span ><span id="" ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ></span ><span > </span ><span class="hs-special" >(</span ><span class="annot" ><span class="annottext" >a </span ><span class="hs-identifier" >_</span ></span ><span class="annot" ><span class="hs-glyph hs-type" >:</span ></span ><span id="" ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >b</span ></a ></span ></span ><span class="hs-special" >)</span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ><span > </span ><span class="annot" ><span class="annottext" >[a] -> [a] -> [a] forall a. [a] -> [a] -> [a] </span ><a href="Operators.html#%2B%2B%2B" ><span class="hs-operator hs-var" >+++</span ></a ></span ><span > </span ><span class="hs-special" >(</span ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ><span > </span ><span class="annot" ><span class="annottext" >[a] -> [a] -> [a] forall a. [a] -> [a] -> [a] </span ><a href="Operators.html#%2A%2A%2A" ><span class="hs-operator hs-var" >***</span ></a ></span ><span > </span ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >b</span ></a ></span ><span class="hs-special" >)</span ><span > </span ><span id="line-14" ></span ><span > </span ><span id="line-15" ></span ><span id="" ><span class="annot" ><a href="Operators.html#%2A%2F%5C%2A" ><span class="hs-operator hs-type" >(*/\*)</span ></a ></span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><span class="hs-special" >[</span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ><span class="hs-special" >]</span ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ></span ><span > </span ><span id="line-16" ></span ><span id="" ><span class="annot" ><span class="annottext" >[[a]] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ></span ><span > </span ><span id="%2A%2F%5C%2A" ><span class="annot" ><span class="annottext" >*/\* :: forall a. [[a]] -> [a] -> [a] </span ><a href="Operators.html#%2A%2F%5C%2A" ><span class="hs-operator hs-var hs-var" >*/\*</span ></a ></span ></span ><span > </span ><span id="" ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >b</span ></a ></span ></span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="annot" ><span class="annottext" >([a] -> [a]) -> [[a]] -> [a] forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b] </span ><span class="hs-identifier hs-var" >concatMap</span ></span ><span > </span ><span class="hs-special" >(</span ><span class="annot" ><span class="annottext" >[a] -> [a] -> [a] forall a. [a] -> [a] -> [a] </span ><a href="Operators.html#%2A%2A%2A" ><span class="hs-operator hs-var" >***</span ></a ></span ><span > </span ><span class="annot" ><span class="annottext" >[a] </span ><a href="#" ><span class="hs-identifier hs-var" >b</span ></a ></span ><span class="hs-special" >)</span ><span > </span ><span class="annot" ><span class="annottext" >[[a]] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ><span > </span ><span id="line-17" ></span ><span > </span ><span id="line-18" ></span ><span id="" ><span class="annot" ><a href="Operators.html#%2A%2A%2F%5C%2A%2A" ><span class="hs-operator hs-type" >(**/\**)</span ></a ></span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><span class="hs-special" >[</span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ><span class="hs-special" >]</span ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-special" >[</span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ><span class="hs-special" >]</span ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-special" >[</span ><span class="hs-special" >[</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >]</span ><span class="hs-special" >]</span ></span ><span > </span ><span id="line-19" ></span ><span id="" ><span class="annot" ><span class="annottext" >[[a]] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ></span ><span > </span ><span id="%2A%2A%2F%5C%2A%2A" ><span class="annot" ><span class="annottext" >**/\** :: forall a. [[a]] -> [[a]] -> [[a]] </span ><a href="Operators.html#%2A%2A%2F%5C%2A%2A" ><span class="hs-operator hs-var hs-var" >**/\**</span ></a ></span ></span ><span > </span ><span id="" ><span class="annot" ><span class="annottext" >[[a]] </span ><a href="#" ><span class="hs-identifier hs-var" >b</span ></a ></span ></span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="annot" ><span class="annottext" >([[a]] -> [a] -> [a]) -> [[[a]]] -> [[a]] -> [[a]] forall a b c. (a -> b -> c) -> [a] -> [b] -> [c] </span ><span class="hs-identifier hs-var" >zipWith</span ></span ><span > </span ><span class="annot" ><span class="annottext" >[[a]] -> [a] -> [a] forall a. [[a]] -> [a] -> [a] </span ><a href="Operators.html#%2A%2F%5C%2A" ><span class="hs-operator hs-var" >(*/\*)</span ></a ></span ><span > </span ><span class="hs-special" >[</span ><span class="annot" ><span class="annottext" >[[a]] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ><span > </span ><span class="annot" ><span class="annottext" >[[a]] -> [[a]] -> [[a]] forall a. [a] -> [a] -> [a] </span ><a href="Operators.html#%2B%2B%2B" ><span class="hs-operator hs-var" >+++</span ></a ></span ><span > </span ><span class="annot" ><span class="annottext" >[[a]] </span ><a href="#" ><span class="hs-identifier hs-var" >b</span ></a ></span ><span class="hs-special" >]</span ><span > </span ><span class="hs-special" >(</span ><span class="annot" ><span class="annottext" >[[a]] </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ><span > </span ><span class="annot" ><span class="annottext" >[[a]] -> [[a]] -> [[a]] forall a. [a] -> [a] -> [a] </span ><a href="Operators.html#%24%24%24" ><span class="hs-operator hs-var" >$$$</span ></a ></span ><span > </span ><span class="annot" ><span class="annottext" >[[a]] </span ><a href="#" ><span class="hs-identifier hs-var" >b</span ></a ></span ><span class="hs-special" >)</span ><span > </span ><span id="line-20" ></span ><span > </span ><span id="line-21" ></span ><span > </span ><span id="line-22" ></span ><span id="" ><span id="" ><span id="" ><span class="annot" ><a href="Operators.html#%23.%23" ><span class="hs-operator hs-type" >(#.#)</span ></a ></span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >b</span ></a ></span ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-special" >(</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >c</span ></a ></span ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-special" >(</span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >a</span ></a ></span ><span class="hs-special" >,</span ><span > </span ><span class="annot" ><a href="#" ><span class="hs-identifier hs-type" >b</span ></a ></span ><span class="hs-special" >)</span ><span class="hs-special" >)</span ></span ></span ></span ><span > </span ><span id="line-23" ></span ><span id="" ><span class="annot" ><span class="annottext" >a </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ></span ><span > </span ><span id="%23.%23" ><span class="annot" ><span class="annottext" >#.# :: forall a b c. a -> b -> c -> (a, b) </span ><a href="Operators.html#%23.%23" ><span class="hs-operator hs-var hs-var" >#.#</span ></a ></span ></span ><span > </span ><span id="" ><span class="annot" ><span class="annottext" >b </span ><a href="#" ><span class="hs-identifier hs-var" >b</span ></a ></span ></span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="annot" ><span class="annottext" >(a, b) -> c -> (a, b) forall a b. a -> b -> a </span ><span class="hs-identifier hs-var" >const</span ></span ><span > </span ><span class="annot" ><span class="annottext" >((a, b) -> c -> (a, b)) -> (a, b) -> c -> (a, b) forall a b. (a -> b) -> a -> b </span ><span class="hs-operator hs-var" >$</span ></span ><span > </span ><span class="hs-special" >(</span ><span class="annot" ><span class="annottext" >a </span ><a href="#" ><span class="hs-identifier hs-var" >a</span ></a ></span ><span class="hs-special" >,</span ><span > </span ><span class="annot" ><span class="annottext" >b </span ><a href="#" ><span class="hs-identifier hs-var" >b</span ></a ></span ><span class="hs-special" >)</span ><span > </span ><span id="line-24" ></span ></pre ></body ></html >