Artifact Content
Not logged in

Artifact c36eaebf49fd7834e978c82fa25bc5275beea54f



<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 Thu Nov 25 12:15:07 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>