This file is indexed.

/usr/share/doc/libghc-cryptol-doc/html/Cryptol-Eval-Value.html is in libghc-cryptol-doc 2.2.6-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
<!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>Cryptol.Eval.Value</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_Cryptol-Eval-Value.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Cryptol-Eval-Value.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">cryptol-2.2.6: Cryptol: The Language of Cryptography</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Copyright</th><td>(c) 2013-2015 Galois, Inc.</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cryptol@galois.com</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Cryptol.Eval.Value</p></div><div id="description"><p class="caption">Description</p><div class="doc empty">&nbsp;</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"><a href="#v:isTBit">isTBit</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isTSeq">isTSeq</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Cryptol-Eval-Value.html#t:TValue">TValue</a>, <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a>)</li><li class="src short"><a href="#v:isTFun">isTFun</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Cryptol-Eval-Value.html#t:TValue">TValue</a>, <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a>)</li><li class="src short"><a href="#v:isTTuple">isTTuple</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a>, [<a href="Cryptol-Eval-Value.html#t:TValue">TValue</a>])</li><li class="src short"><a href="#v:isTRec">isTRec</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="Cryptol-Parser-AST.html#t:Name">Name</a>, <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a>)]</li><li class="src short"><a href="#v:tvSeq">tvSeq</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a></li><li class="src short"><a href="#v:numTValue">numTValue</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-TypeCheck-Solver-InfNat.html#t:Nat-39-">Nat'</a></li><li class="src short"><a href="#v:toNumTValue">toNumTValue</a> :: <a href="Cryptol-TypeCheck-Solver-InfNat.html#t:Nat-39-">Nat'</a> -&gt; <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a></li><li class="src short"><a href="#v:finTValue">finTValue</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:BV">BV</a> = <a href="#v:BV">BV</a> !<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> !<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a></li><li class="src short"><a href="#v:mkBv">mkBv</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Cryptol-Eval-Value.html#t:BV">BV</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:GenValue">GenValue</a> b w<ul class="subs"><li>= <a href="#v:VRecord">VRecord</a> [(<a href="Cryptol-Parser-AST.html#t:Name">Name</a>, <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w)]</li><li>| <a href="#v:VTuple">VTuple</a> [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w]</li><li>| <a href="#v:VBit">VBit</a> b</li><li>| <a href="#v:VSeq">VSeq</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w]</li><li>| <a href="#v:VWord">VWord</a> w</li><li>| <a href="#v:VStream">VStream</a> [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w]</li><li>| <a href="#v:VFun">VFun</a> (<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w)</li><li>| <a href="#v:VPoly">VPoly</a> (<a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w)</li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:Value">Value</a> = <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="Cryptol-Eval-Value.html#t:BV">BV</a></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:TValue">TValue</a> = <a href="#v:TValue">TValue</a> {<ul class="subs"><li><a href="#v:tValTy">tValTy</a> :: <a href="Cryptol-TypeCheck-AST.html#t:Type">Type</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:PPOpts">PPOpts</a> = <a href="#v:PPOpts">PPOpts</a> {<ul class="subs"><li><a href="#v:useAscii">useAscii</a> :: <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:useBase">useBase</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a></li><li><a href="#v:useInfLength">useInfLength</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a></li></ul>}</li><li class="src short"><a href="#v:defaultPPOpts">defaultPPOpts</a> :: <a href="Cryptol-Eval-Value.html#t:PPOpts">PPOpts</a></li><li class="src short"><a href="#v:ppValue">ppValue</a> :: <a href="Cryptol-Eval-Value.html#t:PPOpts">PPOpts</a> -&gt; <a href="Cryptol-Eval-Value.html#t:Value">Value</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/pretty-1.1.2.0/Text-PrettyPrint.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:asciiMode">asciiMode</a> :: <a href="Cryptol-Eval-Value.html#t:PPOpts">PPOpts</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:integerToChar">integerToChar</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Char.html#t:Char">Char</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:WithBase">WithBase</a> a = <a href="#v:WithBase">WithBase</a> <a href="Cryptol-Eval-Value.html#t:PPOpts">PPOpts</a> a</li><li class="src short"><a href="#v:ppWord">ppWord</a> :: <a href="Cryptol-Eval-Value.html#t:PPOpts">PPOpts</a> -&gt; <a href="Cryptol-Eval-Value.html#t:BV">BV</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/pretty-1.1.2.0/Text-PrettyPrint.html#t:Doc">Doc</a></li><li class="src short"><span class="keyword">class</span> <a href="#t:BitWord">BitWord</a> b w <span class="keyword">where</span><ul class="subs"><li><a href="#v:packWord">packWord</a> :: [b] -&gt; w</li><li><a href="#v:unpackWord">unpackWord</a> :: w -&gt; [b]</li></ul></li><li class="src short"><a href="#v:mask">mask</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a></li><li class="src short"><a href="#v:word">word</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Cryptol-Eval-Value.html#t:Value">Value</a></li><li class="src short"><a href="#v:lam">lam</a> :: (<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w) -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w</li><li class="src short"><a href="#v:tlam">tlam</a> :: (<a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w) -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w</li><li class="src short"><a href="#v:toStream">toStream</a> :: [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w] -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w</li><li class="src short"><a href="#v:toFinSeq">toFinSeq</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w] -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w</li><li class="src short"><a href="#v:boolToWord">boolToWord</a> :: [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>] -&gt; <a href="Cryptol-Eval-Value.html#t:Value">Value</a></li><li class="src short"><a href="#v:toSeq">toSeq</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w] -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w</li><li class="src short"><a href="#v:toPackedSeq">toPackedSeq</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; [<a href="Cryptol-Eval-Value.html#t:Value">Value</a>] -&gt; <a href="Cryptol-Eval-Value.html#t:Value">Value</a></li><li class="src short"><a href="#v:fromVBit">fromVBit</a> :: <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; b</li><li class="src short"><a href="#v:fromSeq">fromSeq</a> :: <a href="Cryptol-Eval-Value.html#t:BitWord">BitWord</a> b w =&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w]</li><li class="src short"><a href="#v:fromStr">fromStr</a> :: <a href="Cryptol-Eval-Value.html#t:Value">Value</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:fromVWord">fromVWord</a> :: <a href="Cryptol-Eval-Value.html#t:BitWord">BitWord</a> b w =&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; w</li><li class="src short"><a href="#v:vWordLen">vWordLen</a> :: <a href="Cryptol-Eval-Value.html#t:Value">Value</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a></li><li class="src short"><a href="#v:fromWord">fromWord</a> :: <a href="Cryptol-Eval-Value.html#t:Value">Value</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a></li><li class="src short"><a href="#v:fromVFun">fromVFun</a> :: <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w</li><li class="src short"><a href="#v:fromVPoly">fromVPoly</a> :: <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w</li><li class="src short"><a href="#v:fromVTuple">fromVTuple</a> :: <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w]</li><li class="src short"><a href="#v:fromVRecord">fromVRecord</a> :: <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; [(<a href="Cryptol-Parser-AST.html#t:Name">Name</a>, <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w)]</li><li class="src short"><a href="#v:lookupRecord">lookupRecord</a> :: <a href="Cryptol-Parser-AST.html#t:Name">Name</a> -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w</li><li class="src short"><a href="#v:toExpr">toExpr</a> :: <a href="Cryptol-TypeCheck-AST.html#t:Type">Type</a> -&gt; <a href="Cryptol-Eval-Value.html#t:Value">Value</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Cryptol-TypeCheck-AST.html#t:Expr">Expr</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:isTBit" class="def">isTBit</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <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/Cryptol-Eval-Value.html#isTBit" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:isTSeq" class="def">isTSeq</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Cryptol-Eval-Value.html#t:TValue">TValue</a>, <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a>) <a href="src/Cryptol-Eval-Value.html#isTSeq" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:isTFun" class="def">isTFun</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Cryptol-Eval-Value.html#t:TValue">TValue</a>, <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a>) <a href="src/Cryptol-Eval-Value.html#isTFun" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:isTTuple" class="def">isTTuple</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a>, [<a href="Cryptol-Eval-Value.html#t:TValue">TValue</a>]) <a href="src/Cryptol-Eval-Value.html#isTTuple" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:isTRec" class="def">isTRec</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="Cryptol-Parser-AST.html#t:Name">Name</a>, <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a>)] <a href="src/Cryptol-Eval-Value.html#isTRec" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:tvSeq" class="def">tvSeq</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> <a href="src/Cryptol-Eval-Value.html#tvSeq" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:numTValue" class="def">numTValue</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-TypeCheck-Solver-InfNat.html#t:Nat-39-">Nat'</a> <a href="src/Cryptol-Eval-Value.html#numTValue" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:toNumTValue" class="def">toNumTValue</a> :: <a href="Cryptol-TypeCheck-Solver-InfNat.html#t:Nat-39-">Nat'</a> -&gt; <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> <a href="src/Cryptol-Eval-Value.html#toNumTValue" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:finTValue" class="def">finTValue</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> <a href="src/Cryptol-Eval-Value.html#finTValue" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:BV" class="def">BV</a> <a href="src/Cryptol-Eval-Value.html#BV" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:BV" class="def">BV</a> !<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> !<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a></td><td class="doc"><p>width, value
 The value may contain junk bits</p></td></tr></table></div><div class="subs instances"><p id="control.i:BV" class="caption collapser" onclick="toggleSection('i:BV')">Instances</p><div id="section.i:BV" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Cryptol-Eval-Value.html#t:BitWord">BitWord</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="Cryptol-Eval-Value.html#t:BV">BV</a></span> <a href="src/Cryptol-Eval-Value.html#line-210" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Cryptol-Utils-PP.html#t:PP">PP</a> (<a href="Cryptol-Eval-Value.html#t:WithBase">WithBase</a> <a href="Cryptol-Eval-Value.html#t:Value">Value</a>)</span> <a href="src/Cryptol-Eval-Value.html#line-160" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:mkBv" class="def">mkBv</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Cryptol-Eval-Value.html#t:BV">BV</a> <a href="src/Cryptol-Eval-Value.html#mkBv" class="link">Source</a></p><div class="doc"><p>Smart constructor for <code><a href="Cryptol-Eval-Value.html#t:BV">BV</a></code>s that checks for the width limit</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:GenValue" class="def">GenValue</a> b w <a href="src/Cryptol-Eval-Value.html#GenValue" class="link">Source</a></p><div class="doc"><p>Generic value type, parameterized by bit and word types.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:VRecord" class="def">VRecord</a> [(<a href="Cryptol-Parser-AST.html#t:Name">Name</a>, <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w)]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:VTuple" class="def">VTuple</a> [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:VBit" class="def">VBit</a> b</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:VSeq" class="def">VSeq</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:VWord" class="def">VWord</a> w</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:VStream" class="def">VStream</a> [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:VFun" class="def">VFun</a> (<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:VPoly" class="def">VPoly</a> (<a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:GenValue" class="caption collapser" onclick="toggleSection('i:GenValue')">Instances</p><div id="section.i:GenValue" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Cryptol-Utils-PP.html#t:PP">PP</a> (<a href="Cryptol-Eval-Value.html#t:WithBase">WithBase</a> <a href="Cryptol-Eval-Value.html#t:Value">Value</a>)</span> <a href="src/Cryptol-Eval-Value.html#line-160" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Value" class="def">Value</a> = <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="Cryptol-Eval-Value.html#t:BV">BV</a> <a href="src/Cryptol-Eval-Value.html#Value" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:TValue" class="def">TValue</a> <a href="src/Cryptol-Eval-Value.html#TValue" class="link">Source</a></p><div class="doc"><p>An evaluated type.
 These types do not contain type variables, type synonyms, or type functions.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TValue" class="def">TValue</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:tValTy" class="def">tValTy</a> :: <a href="Cryptol-TypeCheck-AST.html#t:Type">Type</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:TValue" class="caption collapser" onclick="toggleSection('i:TValue')">Instances</p><div id="section.i:TValue" 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/Text-Show.html#t:Show">Show</a> <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a></span> <a href="src/Cryptol-Eval-Value.html#line-106" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:PPOpts" class="def">PPOpts</a> <a href="src/Cryptol-Eval-Value.html#PPOpts" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:PPOpts" class="def">PPOpts</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:useAscii" class="def">useAscii</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:useBase" class="def">useBase</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:useInfLength" class="def">useInfLength</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><a name="v:defaultPPOpts" class="def">defaultPPOpts</a> :: <a href="Cryptol-Eval-Value.html#t:PPOpts">PPOpts</a> <a href="src/Cryptol-Eval-Value.html#defaultPPOpts" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:ppValue" class="def">ppValue</a> :: <a href="Cryptol-Eval-Value.html#t:PPOpts">PPOpts</a> -&gt; <a href="Cryptol-Eval-Value.html#t:Value">Value</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/pretty-1.1.2.0/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="src/Cryptol-Eval-Value.html#ppValue" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:asciiMode" class="def">asciiMode</a> :: <a href="Cryptol-Eval-Value.html#t:PPOpts">PPOpts</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <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/Cryptol-Eval-Value.html#asciiMode" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:integerToChar" class="def">integerToChar</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Char.html#t:Char">Char</a> <a href="src/Cryptol-Eval-Value.html#integerToChar" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:WithBase" class="def">WithBase</a> a <a href="src/Cryptol-Eval-Value.html#WithBase" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:WithBase" class="def">WithBase</a> <a href="Cryptol-Eval-Value.html#t:PPOpts">PPOpts</a> a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:WithBase" class="caption collapser" onclick="toggleSection('i:WithBase')">Instances</p><div id="section.i:WithBase" 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-Functor.html#t:Functor">Functor</a> <a href="Cryptol-Eval-Value.html#t:WithBase">WithBase</a></span> <a href="src/Cryptol-Eval-Value.html#line-158" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Cryptol-Utils-PP.html#t:PP">PP</a> (<a href="Cryptol-Eval-Value.html#t:WithBase">WithBase</a> <a href="Cryptol-Eval-Value.html#t:Value">Value</a>)</span> <a href="src/Cryptol-Eval-Value.html#line-160" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Cryptol-Utils-PP.html#t:PP">PP</a> (<a href="Cryptol-Eval-Value.html#t:WithBase">WithBase</a> <a href="Cryptol-Eval-Env.html#t:EvalEnv">EvalEnv</a>)</span> <a href="src/Cryptol-Utils-PP.html#line-44" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:ppWord" class="def">ppWord</a> :: <a href="Cryptol-Eval-Value.html#t:PPOpts">PPOpts</a> -&gt; <a href="Cryptol-Eval-Value.html#t:BV">BV</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/pretty-1.1.2.0/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="src/Cryptol-Eval-Value.html#ppWord" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:BitWord" class="def">BitWord</a> b w <span class="keyword">where</span> <a href="src/Cryptol-Eval-Value.html#BitWord" class="link">Source</a></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:packWord" class="def">packWord</a> :: [b] -&gt; w <a href="src/Cryptol-Eval-Value.html#packWord" class="link">Source</a></p><div class="doc"><p>NOTE this assumes that the sequence of bits is big-endian and finite, so the
 first element of the list will be the most significant bit.</p></div><p class="src"><a name="v:unpackWord" class="def">unpackWord</a> :: w -&gt; [b] <a href="src/Cryptol-Eval-Value.html#unpackWord" class="link">Source</a></p><div class="doc"><p>NOTE this produces a list of bits that represent a big-endian word, so the
 most significant bit is the first element of the list.</p></div></div><div class="subs instances"><p id="control.i:BitWord" class="caption collapser" onclick="toggleSection('i:BitWord')">Instances</p><div id="section.i:BitWord" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Cryptol-Eval-Value.html#t:BitWord">BitWord</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="Cryptol-Eval-Value.html#t:BV">BV</a></span> <a href="src/Cryptol-Eval-Value.html#line-210" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:mask" class="def">mask</a> <a href="src/Cryptol-Eval-Value.html#mask" 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/Prelude.html#t:Integer">Integer</a></td><td class="doc"><p>Bit-width</p></td></tr><tr><td class="src">-&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a></td><td class="doc"><p>Value</p></td></tr><tr><td class="src">-&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a></td><td class="doc"><p>Masked result</p></td></tr></table></div></div><div class="top"><p class="src"><a name="v:word" class="def">word</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Cryptol-Eval-Value.html#t:Value">Value</a> <a href="src/Cryptol-Eval-Value.html#word" class="link">Source</a></p><div class="doc"><p>Create a packed word of n bits.</p></div></div><div class="top"><p class="src"><a name="v:lam" class="def">lam</a> :: (<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w) -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w <a href="src/Cryptol-Eval-Value.html#lam" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:tlam" class="def">tlam</a> :: (<a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w) -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w <a href="src/Cryptol-Eval-Value.html#tlam" class="link">Source</a></p><div class="doc"><p>A type lambda that expects a <code>Type</code>.</p></div></div><div class="top"><p class="src"><a name="v:toStream" class="def">toStream</a> :: [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w] -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w <a href="src/Cryptol-Eval-Value.html#toStream" class="link">Source</a></p><div class="doc"><p>Generate a stream.</p></div></div><div class="top"><p class="src"><a name="v:toFinSeq" class="def">toFinSeq</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w] -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w <a href="src/Cryptol-Eval-Value.html#toFinSeq" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:boolToWord" class="def">boolToWord</a> :: [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>] -&gt; <a href="Cryptol-Eval-Value.html#t:Value">Value</a> <a href="src/Cryptol-Eval-Value.html#boolToWord" class="link">Source</a></p><div class="doc"><p>This is strict!</p></div></div><div class="top"><p class="src"><a name="v:toSeq" class="def">toSeq</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w] -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w <a href="src/Cryptol-Eval-Value.html#toSeq" class="link">Source</a></p><div class="doc"><p>Construct either a finite sequence, or a stream.  In the finite case,
 record whether or not the elements were bits, to aid pretty-printing.</p></div></div><div class="top"><p class="src"><a name="v:toPackedSeq" class="def">toPackedSeq</a> :: <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; [<a href="Cryptol-Eval-Value.html#t:Value">Value</a>] -&gt; <a href="Cryptol-Eval-Value.html#t:Value">Value</a> <a href="src/Cryptol-Eval-Value.html#toPackedSeq" class="link">Source</a></p><div class="doc"><p>Construct one of:
   * a word, when the sequence is finite and the elements are bits
   * a sequence, when the sequence is finite but the elements aren't bits
   * a stream, when the sequence is not finite</p><p>NOTE: do not use this constructor in the case where the thing may be a
 finite, but recursive, sequence.</p></div></div><div class="top"><p class="src"><a name="v:fromVBit" class="def">fromVBit</a> :: <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; b <a href="src/Cryptol-Eval-Value.html#fromVBit" class="link">Source</a></p><div class="doc"><p>Extract a bit value.</p></div></div><div class="top"><p class="src"><a name="v:fromSeq" class="def">fromSeq</a> :: <a href="Cryptol-Eval-Value.html#t:BitWord">BitWord</a> b w =&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w] <a href="src/Cryptol-Eval-Value.html#fromSeq" class="link">Source</a></p><div class="doc"><p>Extract a sequence.</p></div></div><div class="top"><p class="src"><a name="v:fromStr" class="def">fromStr</a> :: <a href="Cryptol-Eval-Value.html#t:Value">Value</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-String.html#t:String">String</a> <a href="src/Cryptol-Eval-Value.html#fromStr" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:fromVWord" class="def">fromVWord</a> :: <a href="Cryptol-Eval-Value.html#t:BitWord">BitWord</a> b w =&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; w <a href="src/Cryptol-Eval-Value.html#fromVWord" class="link">Source</a></p><div class="doc"><p>Extract a packed word.
 Note that this does not clean-up any junk bits in the word.</p></div></div><div class="top"><p class="src"><a name="v:vWordLen" class="def">vWordLen</a> :: <a href="Cryptol-Eval-Value.html#t:Value">Value</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> <a href="src/Cryptol-Eval-Value.html#vWordLen" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:fromWord" class="def">fromWord</a> :: <a href="Cryptol-Eval-Value.html#t:Value">Value</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a> <a href="src/Cryptol-Eval-Value.html#fromWord" class="link">Source</a></p><div class="doc"><p>Turn a value into an integer represented by w bits.</p></div></div><div class="top"><p class="src"><a name="v:fromVFun" class="def">fromVFun</a> :: <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w <a href="src/Cryptol-Eval-Value.html#fromVFun" class="link">Source</a></p><div class="doc"><p>Extract a function from a value.</p></div></div><div class="top"><p class="src"><a name="v:fromVPoly" class="def">fromVPoly</a> :: <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; <a href="Cryptol-Eval-Value.html#t:TValue">TValue</a> -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w <a href="src/Cryptol-Eval-Value.html#fromVPoly" class="link">Source</a></p><div class="doc"><p>Extract a polymorphic function from a value.</p></div></div><div class="top"><p class="src"><a name="v:fromVTuple" class="def">fromVTuple</a> :: <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; [<a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w] <a href="src/Cryptol-Eval-Value.html#fromVTuple" class="link">Source</a></p><div class="doc"><p>Extract a tuple from a value.</p></div></div><div class="top"><p class="src"><a name="v:fromVRecord" class="def">fromVRecord</a> :: <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; [(<a href="Cryptol-Parser-AST.html#t:Name">Name</a>, <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w)] <a href="src/Cryptol-Eval-Value.html#fromVRecord" class="link">Source</a></p><div class="doc"><p>Extract a record from a value.</p></div></div><div class="top"><p class="src"><a name="v:lookupRecord" class="def">lookupRecord</a> :: <a href="Cryptol-Parser-AST.html#t:Name">Name</a> -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w -&gt; <a href="Cryptol-Eval-Value.html#t:GenValue">GenValue</a> b w <a href="src/Cryptol-Eval-Value.html#lookupRecord" class="link">Source</a></p><div class="doc"><p>Lookup a field in a record.</p></div></div><div class="top"><p class="src"><a name="v:toExpr" class="def">toExpr</a> :: <a href="Cryptol-TypeCheck-AST.html#t:Type">Type</a> -&gt; <a href="Cryptol-Eval-Value.html#t:Value">Value</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Cryptol-TypeCheck-AST.html#t:Expr">Expr</a> <a href="src/Cryptol-Eval-Value.html#toExpr" class="link">Source</a></p><div class="doc"><p>Given an expected type, returns an expression that evaluates to
 this value, if we can determine it.</p><p>XXX: View patterns would probably clean up this definition a lot.</p></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>