diff options
author | alexbiehl <alex.biehl@gmail.com> | 2017-08-21 20:05:42 +0200 |
---|---|---|
committer | alexbiehl <alex.biehl@gmail.com> | 2017-08-21 20:05:42 +0200 |
commit | 7a71af839bd71992a36d97650004c73bf11fa436 (patch) | |
tree | e64afbc9df5c97fde6ac6433e42f28df8a4acf49 /html-test/ref/BundledPatterns.html | |
parent | c8a01b83be52e45d3890db173ffe7b09ccd4f351 (diff) | |
parent | 740458ac4d2acf197f2ef8dc94a66f9b160b9c3c (diff) |
Merge remote-tracking branch 'origin/master' into ghc-head
Diffstat (limited to 'html-test/ref/BundledPatterns.html')
-rw-r--r-- | html-test/ref/BundledPatterns.html | 474 |
1 files changed, 474 insertions, 0 deletions
diff --git a/html-test/ref/BundledPatterns.html b/html-test/ref/BundledPatterns.html new file mode 100644 index 00000000..bf6c073c --- /dev/null +++ b/html-test/ref/BundledPatterns.html @@ -0,0 +1,474 @@ +<html xmlns="http://www.w3.org/1999/xhtml" +><head + ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" + /><title + >BundledPatterns</title + ><link href="#" rel="stylesheet" type="text/css" title="Ocean" + /><script src="haddock-util.js" type="text/javascript" + ></script + ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript" + ></script + ><script type="text/javascript" + >// +window.onload = function () {pageLoad();}; +// +</script + ></head + ><body + ><div id="package-header" + ><ul class="links" id="page-menu" + ><li + ><a href="#" + >Contents</a + ></li + ><li + ><a href="#" + >Index</a + ></li + ></ul + ><p class="caption empty" + ></p + ></div + ><div id="content" + ><div id="module-header" + ><table class="info" + ><tr + ><th + >Safe Haskell</th + ><td + >None</td + ></tr + ></table + ><p class="caption" + >BundledPatterns</p + ></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" + >data</span + > <a href="#" + >Vec</a + > :: <a href="#" + >Nat</a + > -> <a href="#" + >*</a + > -> <a href="#" + >*</a + > <span class="keyword" + >where</span + ><ul class="subs" + ><li + ><a href="#" + >Nil</a + > :: <a href="#" + >Vec</a + > 0 a</li + ><li + ><span class="keyword" + >pattern</span + > <a href="#" + >(:>)</a + > :: a -> <a href="#" + >Vec</a + > n a -> <a href="#" + >Vec</a + > (n <a href="#" + >+</a + > 1) a</li + ></ul + ></li + ><li class="src short" + ><span class="keyword" + >data</span + > <a href="#" + >RTree</a + > :: <a href="#" + >Nat</a + > -> <a href="#" + >*</a + > -> <a href="#" + >*</a + > <span class="keyword" + >where</span + ><ul class="subs" + ><li + ><span class="keyword" + >pattern</span + > <a href="#" + >LR</a + > :: a -> <a href="#" + >RTree</a + > 0 a</li + ><li + ><span class="keyword" + >pattern</span + > <a href="#" + >BR</a + > :: <a href="#" + >RTree</a + > d a -> <a href="#" + >RTree</a + > d a -> <a href="#" + >RTree</a + > (d <a href="#" + >+</a + > 1) a</li + ></ul + ></li + ></ul + ></div + ><div id="interface" + ><h1 + >Documentation</h1 + ><div class="top" + ><p class="src" + ><span class="keyword" + >data</span + > <a id="t:Vec" class="def" + >Vec</a + > :: <a href="#" + >Nat</a + > -> <a href="#" + >*</a + > -> <a href="#" + >*</a + > <span class="keyword" + >where</span + > <a href="#" class="selflink" + >#</a + ></p + ><div class="doc" + ><p + >Fixed size vectors.</p + ><ul + ><li + >Lists with their length encoded in their type</li + ><li + ><code + ><a href="#" + >Vec</a + ></code + >tor elements have an <strong + >ASCENDING</strong + > subscript starting from 0 and + ending at <code + ><code + ><a href="#" + >length</a + ></code + > - 1</code + >.</li + ></ul + ></div + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a id="v:Nil" class="def" + >Nil</a + > :: <a href="#" + >Vec</a + > 0 a</td + ><td class="doc empty" + ></td + ></tr + ></table + ></div + ><div class="subs bundled-patterns" + ><p class="caption" + >Bundled Patterns</p + ><table + ><tr + ><td class="src" + ><span class="keyword" + >pattern</span + > <a id="v::-62-" class="def" + >(:>)</a + > :: a -> <a href="#" + >Vec</a + > n a -> <a href="#" + >Vec</a + > (n <a href="#" + >+</a + > 1) a <span class="fixity" + >infixr 5</span + ><span class="rightedge" + ></span + ></td + ><td class="doc" + ><p + >Add an element to the head of a vector.</p + ><pre class="screen" + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >3:>4:>5:>Nil +</code + ></strong + ><3,4,5> +<code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >let x = 3:>4:>5:>Nil +</code + ></strong + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >:t x +</code + ></strong + >x :: Num a => Vec 3 a +</pre + ><p + >Can be used as a pattern:</p + ><pre class="screen" + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >let f (x :> y :> _) = x + y +</code + ></strong + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >:t f +</code + ></strong + >f :: Num a => Vec ((n + 1) + 1) a -> a +<code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >f (3:>4:>5:>6:>7:>Nil) +</code + ></strong + >7 +</pre + ><p + >Also in conjunctions with (<code + >:<</code + >):</p + ><pre class="screen" + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >let g (a :> b :> (_ :< y :< x)) = a + b + x + y +</code + ></strong + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >:t g +</code + ></strong + >g :: Num a => Vec ((((n + 1) + 1) + 1) + 1) a -> a +<code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >g (1:>2:>3:>4:>5:>Nil) +</code + ></strong + >12 +</pre + ></td + ></tr + ></table + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >data</span + > <a id="t:RTree" class="def" + >RTree</a + > :: <a href="#" + >Nat</a + > -> <a href="#" + >*</a + > -> <a href="#" + >*</a + > <span class="keyword" + >where</span + > <a href="#" class="selflink" + >#</a + ></p + ><div class="doc" + ><p + >Perfect depth binary tree.</p + ><ul + ><li + >Only has elements at the leaf of the tree</li + ><li + >A tree of depth <em + >d</em + > has <em + >2^d</em + > elements.</li + ></ul + ></div + ><div class="subs bundled-patterns" + ><p class="caption" + >Bundled Patterns</p + ><table + ><tr + ><td class="src" + ><span class="keyword" + >pattern</span + > <a id="v:LR" class="def" + >LR</a + > :: a -> <a href="#" + >RTree</a + > 0 a</td + ><td class="doc" + ><p + >Leaf of a perfect depth tree</p + ><pre class="screen" + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >LR 1 +</code + ></strong + >1 +<code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >let x = LR 1 +</code + ></strong + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >:t x +</code + ></strong + >x :: Num a => RTree 0 a +</pre + ><p + >Can be used as a pattern:</p + ><pre class="screen" + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >let f (LR a) (LR b) = a + b +</code + ></strong + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >:t f +</code + ></strong + >f :: Num a => RTree 0 a -> RTree 0 a -> a +<code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >f (LR 1) (LR 2) +</code + ></strong + >3 +</pre + ></td + ></tr + ><tr + ><td class="src" + ><span class="keyword" + >pattern</span + > <a id="v:BR" class="def" + >BR</a + > :: <a href="#" + >RTree</a + > d a -> <a href="#" + >RTree</a + > d a -> <a href="#" + >RTree</a + > (d <a href="#" + >+</a + > 1) a</td + ><td class="doc" + ><p + >Branch of a perfect depth tree</p + ><pre class="screen" + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >BR (LR 1) (LR 2) +</code + ></strong + ><1,2> +<code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >let x = BR (LR 1) (LR 2) +</code + ></strong + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >:t x +</code + ></strong + >x :: Num a => RTree 1 a +</pre + ><p + >Case be used a pattern:</p + ><pre class="screen" + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >let f (BR (LR a) (LR b)) = LR (a + b) +</code + ></strong + ><code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >:t f +</code + ></strong + >f :: Num a => RTree 1 a -> RTree 0 a +<code class="prompt" + >>>> </code + ><strong class="userinput" + ><code + >f (BR (LR 1) (LR 2)) +</code + ></strong + >3 +</pre + ></td + ></tr + ></table + ></div + ></div + ></div + ></div + ><div id="footer" + ></div + ></body + ></html +>
\ No newline at end of file |