Artifact 4d6f8832c63e974cb7e0b7979f5d54e514da65c1
<html><head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta content="text/javascript" http-equiv="content-script-type">
<title>polemy.value</title>
<link rel="stylesheet" type="text/css" href="candydoc/style.css">
<!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="candydoc/ie56hack.css"><![endif]-->
<script language="JavaScript" src="candydoc/util.js" type="text/javascript"></script>
<script language="JavaScript" src="candydoc/tree.js" type="text/javascript"></script>
<script language="JavaScript" src="candydoc/explorer.js" type="text/javascript"></script>
</head><body>
<div id="tabarea"></div><div id="explorerclient"></div>
<div id="content"><script>explorer.initialize("polemy.value");</script>
<table class="content">
<tr><td id="docbody"><h1>polemy.value</h1><!-- Generated by Ddoc from polemy\value.d -->
<b>Authors:</b><br>
k.inaba
<br><br>
<b>License:</b><br>
NYSL 0.9982 http://www.kmonos.net/nysl/
<br><br>
Runtime data structures for Polemy programming language.<br><br>
<script>explorer.outline.incSymbolLevel();</script>
<dl>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">abstract class
<span class="currsymbol">Value</span>
<script>explorer.outline.addDecl('Value');</script>
;
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd>Runtime values of Polemy<br><br>
</dd>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">class
<span class="currsymbol">IntValue</span>
<script>explorer.outline.addDecl('IntValue');</script>
: polemy.value.Value;
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd><br><br>
</dd>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">class
<span class="currsymbol">StrValue</span>
<script>explorer.outline.addDecl('StrValue');</script>
: polemy.value.Value;
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd><br><br>
</dd>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">class
<span class="currsymbol">UndefinedValue</span>
<script>explorer.outline.addDecl('UndefinedValue');</script>
: polemy.value.Value;
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd><br><br>
</dd>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">abstract class
<span class="currsymbol">FunValue</span>
<script>explorer.outline.addDecl('FunValue');</script>
: polemy.value.Value;
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd><br><br>
</dd>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">class
<span class="currsymbol">Table</span>
<script>explorer.outline.addDecl('Table');</script>
: polemy.value.Value;
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd>Context (variable environment)
Simlar to prototype chain of ECMAScript etc.
But extended with the notion of "Layer"<br><br>
<script>explorer.outline.incSymbolLevel();</script>
<dl>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">void
<span class="currsymbol">set</span>
<script>explorer.outline.addDecl('set');</script>
(string <span class="funcparam">i</span>, Layer <span class="funcparam">lay</span>, Value <span class="funcparam">v</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd>Set the value <span class="funcparam">v</span> to the index <span class="funcparam">i</span> of layer <span class="funcparam">lay</span><br><br>
</dd>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">const bool
<span class="currsymbol">has</span>
<script>explorer.outline.addDecl('has');</script>
(string <span class="funcparam">i</span>, Layer <span class="funcparam">lay</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd>True if index <span class="funcparam">i</span>
<span class="currsymbol">has</span>
<script>explorer.outline.addDecl('has');</script>
value in layer <span class="funcparam">lay</span><br><br>
</dd>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">Value
<span class="currsymbol">get</span>
<script>explorer.outline.addDecl('get');</script>
(string <span class="funcparam">i</span>, Layer <span class="funcparam">lay</span>, LexPosition <span class="funcparam">pos</span> = null);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd>Return the value of index <span class="funcparam">i</span> at layer <span class="funcparam">lay</span>. Throws if it is not set<br><br>
</dd>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">T
<span class="currsymbol">access</span>
<script>explorer.outline.addDecl('access');</script>
(T, S...)(Layer <span class="funcparam">lay</span>, string <span class="funcparam">path</span>, S <span class="funcparam">rest</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd>t.
<span class="currsymbol">access</span>
<script>explorer.outline.addDecl('access');</script>
!T(lay,a,b,...) returns t.get(a,lay).get(b,lay).... if exists
and has type T. Returns <b>null</b> otherwise<br><br>
</dd>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool
<span class="currsymbol">empty</span>
<script>explorer.outline.addDecl('empty');</script>
();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd>Is this an
<span class="currsymbol">empty</span>
<script>explorer.outline.addDecl('empty');</script>
table?<br><br>
</dd>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool
<span class="currsymbol">isList</span>
<script>explorer.outline.addDecl('isList');</script>
();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd>Can be seen as a cons-list?<br><br>
</dd>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">Value[]
<span class="currsymbol">toList</span>
<script>explorer.outline.addDecl('toList');</script>
();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd>Regard table as a cons-list and convert to an array<br><br>
</dd>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">Tuple!(string,string,Value)[]
<span class="currsymbol">direct_entries</span>
<script>explorer.outline.addDecl('direct_entries');</script>
();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd>Get the list of direct entries ignoring prototypes in sorted order<br><br>
</dd>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">Tuple!(string,string,Value)[]
<span class="currsymbol">entries</span>
<script>explorer.outline.addDecl('entries');</script>
();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>
<dd>Get the whole list of observable
<span class="currsymbol">entries</span>
<script>explorer.outline.addDecl('entries');</script>
in unspecified order<br><br>
</dd>
</dl>
<script>explorer.outline.decSymbolLevel();</script>
</dd>
</dl>
<script>explorer.outline.decSymbolLevel();</script>
</td></tr>
<tr><td id="docfooter">
Page was generated with
<img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px">
on Fri Nov 26 16:41:50 2010
</td></tr>
</table>
</div>
<script>
explorer.packageExplorer.addModule("index");
explorer.packageExplorer.addModule("main");
explorer.packageExplorer.addModule("tricks.tricks");
explorer.packageExplorer.addModule("tricks.test");
explorer.packageExplorer.addModule("polemy._common");
explorer.packageExplorer.addModule("polemy.failure");
explorer.packageExplorer.addModule("polemy.layer");
explorer.packageExplorer.addModule("polemy.fresh");
explorer.packageExplorer.addModule("polemy.lex");
explorer.packageExplorer.addModule("polemy.parse");
explorer.packageExplorer.addModule("polemy.ast");
explorer.packageExplorer.addModule("polemy.value");
explorer.packageExplorer.addModule("polemy.valueconv");
explorer.packageExplorer.addModule("polemy.eval");
explorer.packageExplorer.addModule("polemy.runtime");
explorer.packageExplorer.addModule("polemy.repl");</script>
</body></html>