beowulf/docs/codox/beowulf.host.html

14 lines
39 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>beowulf.host documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Beowulf</span> <span class="project-version">0.3.0-SNAPSHOT</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Topics</span></h3><ul><li class="depth-1 "><a href="intro.html"><div class="inner"><span>beowulf</span></div></a></li><li class="depth-1 "><a href="mexpr.html"><div class="inner"><span>Interpreting M-Expressions</span></div></a></li><li class="depth-1 "><a href="values.html"><div class="inner"><span>Understanding values and properties</span></div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>beowulf</span></div></div></li><li class="depth-2 branch"><a href="beowulf.bootstrap.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bootstrap</span></div></a></li><li class="depth-2 branch"><a href="beowulf.cons-cell.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>cons-cell</span></div></a></li><li class="depth-2 branch"><a href="beowulf.core.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>core</span></div></a></li><li class="depth-2 branch"><a href="beowulf.gendoc.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>gendoc</span></div></a></li><li class="depth-2 branch current"><a href="beowulf.host.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>host</span></div></a></li><li class="depth-2 branch"><a href="beowulf.io.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>io</span></div></a></li><li class="depth-2 branch"><a href="beowulf.manual.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>manual</span></div></a></li><li class="depth-2 branch"><a href="beowulf.oblist.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>oblist</span></div></a></li><li class="depth-2 branch"><a href="beowulf.read.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>read</span></div></a></li><li class="depth-2"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>reader</span></div></div></li><li class="depth-3 branch"><a href="beowulf.reader.char-reader.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>char-reader</span></div></a></li><li class="depth-3 branch"><a href="beowulf.reader.generate.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>generate</span></div></a></li><li class="depth-3 branch"><a href="beowulf.reader.macros.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>macros</span></div></a></li><li class="depth-3 branch"><a href="beowulf.reader.parser.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>parser</span></div></a></li><li class="depth-3"><a href="beowulf.reader.simplify.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>simplify</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="beowulf.host.html#var-ADD1"><div class="inner"><span>ADD1</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-AND"><div class="inner"><span>AND</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-ASSOC"><div class="inner"><span>ASSOC</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-ATOM"><div class="inner"><span>ATOM</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-ATOM.3F"><div class="inner"><span>ATOM?</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CAAAAR"><div class="inner"><span>CAAAAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CAAADR"><div class="inner"><span>CAAADR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CAAAR"><div class="inner"><span>CAAAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CAADAR"><div class="inner"><span>CAADAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CAADDR"><div class="inner"><span>CAADDR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CAADR"><div class="inner"><span>CAADR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CAAR"><div class="inner"><span>CAAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CADAAR"><div class="inner"><span>CADAAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CADADR"><div class="inner"><span>CADADR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CADAR"><div class="inner"><span>CADAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CADDAR"><div class="inner"><span>CADDAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CADDDR"><div class="inner"><span>CADDDR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CADDR"><div class="inner"><span>CADDR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CADR"><div class="inner"><span>CADR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CAR"><div class="inner"><span>CAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDAAAR"><div class="inner"><span>CDAAAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDAADR"><div class="inner"><span>CDAADR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDAAR"><div class="inner"><span>CDAAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDADAR"><div class="inner"><span>CDADAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDADDR"><div class="inner"><span>CDADDR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDADR"><div class="inner"><span>CDADR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDAR"><div class="inner"><span>CDAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDDAAR"><div class="inner"><span>CDDAAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDDADR"><div class="inner"><span>CDDADR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDDAR"><div class="inner"><span>CDDAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDDDAR"><div class="inner"><span>CDDDAR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDDDDR"><div class="inner"><span>CDDDDR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDDDR"><div class="inner"><span>CDDDR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDDR"><div class="inner"><span>CDDR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CDR"><div class="inner"><span>CDR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CONS"><div class="inner"><span>CONS</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-CONSP"><div class="inner"><span>CONSP</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-DEFINE"><div class="inner"><span>DEFINE</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-DIFFERENCE"><div class="inner"><span>DIFFERENCE</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-DOC"><div class="inner"><span>DOC</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-EQ"><div class="inner"><span>EQ</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-EQUAL"><div class="inner"><span>EQUAL</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-ERROR"><div class="inner"><span>ERROR</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-FIXP"><div class="inner"><span>FIXP</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-GENSYM"><div class="inner"><span>GENSYM</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-GREATERP"><div class="inner"><span>GREATERP</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-lax.3F"><div class="inner"><span>lax?</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-LESSP"><div class="inner"><span>LESSP</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-LIST"><div class="inner"><span>LIST</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-NILP"><div class="inner"><span>NILP</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-NULL"><div class="inner"><span>NULL</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-NUMBERP"><div class="inner"><span>NUMBERP</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-OBLIST"><div class="inner"><span>OBLIST</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-PAIRLIS"><div class="inner"><span>PAIRLIS</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-PLUS"><div class="inner"><span>PLUS</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-QUOTIENT"><div class="inner"><span>QUOTIENT</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-REMAINDER"><div class="inner"><span>REMAINDER</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-RPLACA"><div class="inner"><span>RPLACA</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-RPLACD"><div class="inner"><span>RPLACD</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-SET"><div class="inner"><span>SET</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-SUB1"><div class="inner"><span>SUB1</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-TIMES"><div class="inner"><span>TIMES</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-TRACE"><div class="inner"><span>TRACE</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-traced-symbols"><div class="inner"><span>traced-symbols</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-traced.3F"><div class="inner"><span>traced?</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-uaf"><div class="inner"><span>uaf</span></div></a></li><li class="depth-1"><a href="beowulf.host.html#var-UNTRACE"><div class="inner"><span>UNTRACE</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">beowulf.host</h1><div class="doc"><div class="markdown"><p>provides Lisp 1.5 functions which cant be (or cant efficiently be) implemented in Lisp 1.5, which therefore need to be implemented in the host language, in this case Clojure.</p></div></div><div class="public anchor" id="var-ADD1"><h3>ADD1</h3><div class="usage"><code>(ADD1 x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L344">view source</a></div></div><div class="public anchor" id="var-AND"><h3>AND</h3><div class="usage"><code>(AND &amp; args)</code></div><div class="doc"><div class="markdown"><p><code>T</code> if and only if none of my <code>args</code> evaluate to either <code>F</code> or <code>NIL</code>, else <code>F</code>.</p>
<p>In <code>beowulf.host</code> principally because I dont yet feel confident to define varargs functions in Lisp.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L256">view source</a></div></div><div class="public anchor" id="var-ASSOC"><h3>ASSOC</h3><div class="usage"><code>(ASSOC x a)</code></div><div class="doc"><div class="markdown"><p>If a is an association list such as the one formed by PAIRLIS in the above example, then assoc will produce the first pair whose first term is x. Thus it is a table searching function.</p>
<p>All args are assumed to be <code>beowulf.cons-cell/ConsCell</code> objects. See page 12 of the Lisp 1.5 Programmers Manual.</p>
<p><strong>NOTE THAT</strong> this function is overridden by an implementation in Lisp, but is currently still present for bootstrapping.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L271">view source</a></div></div><div class="public anchor" id="var-ATOM"><h3>ATOM</h3><div class="usage"><code>(ATOM x)</code></div><div class="doc"><div class="markdown"><p>Returns <code>T</code> if and only if the argument <code>x</code> is bound to an atom; else <code>F</code>. It is not clear to me from the documentation whether <code>(ATOM 7)</code> should return <code>T</code> or <code>F</code>. Im going to assume <code>T</code>.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L220">view source</a></div></div><div class="public anchor" id="var-ATOM.3F"><h3>ATOM?</h3><h4 class="type">macro</h4><div class="usage"><code>(ATOM? x)</code></div><div class="doc"><div class="markdown"><p>The convention of returning <code>F</code> from predicates, rather than <code>NIL</code>, is going to tie me in knots. This is a variant of <code>ATOM</code> which returns <code>NIL</code> on failure.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L227">view source</a></div></div><div class="public anchor" id="var-CAAAAR"><h3>CAAAAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CAAAAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L137">view source</a></div></div><div class="public anchor" id="var-CAAADR"><h3>CAAADR</h3><h4 class="type">macro</h4><div class="usage"><code>(CAAADR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L145">view source</a></div></div><div class="public anchor" id="var-CAAAR"><h3>CAAAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CAAAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L128">view source</a></div></div><div class="public anchor" id="var-CAADAR"><h3>CAADAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CAADAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L138">view source</a></div></div><div class="public anchor" id="var-CAADDR"><h3>CAADDR</h3><h4 class="type">macro</h4><div class="usage"><code>(CAADDR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L146">view source</a></div></div><div class="public anchor" id="var-CAADR"><h3>CAADR</h3><h4 class="type">macro</h4><div class="usage"><code>(CAADR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L129">view source</a></div></div><div class="public anchor" id="var-CAAR"><h3>CAAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CAAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L123">view source</a></div></div><div class="public anchor" id="var-CADAAR"><h3>CADAAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CADAAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L139">view source</a></div></div><div class="public anchor" id="var-CADADR"><h3>CADADR</h3><h4 class="type">macro</h4><div class="usage"><code>(CADADR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L147">view source</a></div></div><div class="public anchor" id="var-CADAR"><h3>CADAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CADAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L130">view source</a></div></div><div class="public anchor" id="var-CADDAR"><h3>CADDAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CADDAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L140">view source</a></div></div><div class="public anchor" id="var-CADDDR"><h3>CADDDR</h3><h4 class="type">macro</h4><div class="usage"><code>(CADDDR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L148">view source</a></div></div><div class="public anchor" id="var-CADDR"><h3>CADDR</h3><h4 class="type">macro</h4><div class="usage"><code>(CADDR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L131">view source</a></div></div><div class="public anchor" id="var-CADR"><h3>CADR</h3><h4 class="type">macro</h4><div class="usage"><code>(CADR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L124">view source</a></div></div><div class="public anchor" id="var-CAR"><h3>CAR</h3><div class="usage"><code>(CAR x)</code></div><div class="doc"><div class="markdown"><p>Return the item indicated by the first pointer of a pair. NIL is treated specially: the CAR of NIL is NIL.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L58">view source</a></div></div><div class="public anchor" id="var-CDAAAR"><h3>CDAAAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDAAAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L143">view source</a></div></div><div class="public anchor" id="var-CDAADR"><h3>CDAADR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDAADR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L151">view source</a></div></div><div class="public anchor" id="var-CDAAR"><h3>CDAAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDAAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L134">view source</a></div></div><div class="public anchor" id="var-CDADAR"><h3>CDADAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDADAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L144">view source</a></div></div><div class="public anchor" id="var-CDADDR"><h3>CDADDR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDADDR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L152">view source</a></div></div><div class="public anchor" id="var-CDADR"><h3>CDADR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDADR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L135">view source</a></div></div><div class="public anchor" id="var-CDAR"><h3>CDAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L126">view source</a></div></div><div class="public anchor" id="var-CDDAAR"><h3>CDDAAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDDAAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L141">view source</a></div></div><div class="public anchor" id="var-CDDADR"><h3>CDDADR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDDADR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L149">view source</a></div></div><div class="public anchor" id="var-CDDAR"><h3>CDDAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDDAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L132">view source</a></div></div><div class="public anchor" id="var-CDDDAR"><h3>CDDDAR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDDDAR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L142">view source</a></div></div><div class="public anchor" id="var-CDDDDR"><h3>CDDDDR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDDDDR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L150">view source</a></div></div><div class="public anchor" id="var-CDDDR"><h3>CDDDR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDDDR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L133">view source</a></div></div><div class="public anchor" id="var-CDDR"><h3>CDDR</h3><h4 class="type">macro</h4><div class="usage"><code>(CDDR x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L125">view source</a></div></div><div class="public anchor" id="var-CDR"><h3>CDR</h3><div class="usage"><code>(CDR x)</code></div><div class="doc"><div class="markdown"><p>Return the item indicated by the second pointer of a pair. NIL is treated specially: the CDR of NIL is NIL.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L78">view source</a></div></div><div class="public anchor" id="var-CONS"><h3>CONS</h3><div class="usage"><code>(CONS car cdr)</code></div><div class="doc"><div class="markdown"><p>Construct a new instance of cons cell with this <code>car</code> and <code>cdr</code>.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L53">view source</a></div></div><div class="public anchor" id="var-CONSP"><h3>CONSP</h3><div class="usage"><code>(CONSP o)</code></div><div class="doc"><div class="markdown"><p>Return <code>T</code> if object <code>o</code> is a cons cell, else <code>F</code>.</p>
<p><strong>NOTE THAT</strong> this is an extension function, not available in strct mode. I believe that Lisp 1.5 did not have any mechanism for testing whether an argument was, or was not, a cons cell.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L465">view source</a></div></div><div class="public anchor" id="var-DEFINE"><h3>DEFINE</h3><div class="usage"><code>(DEFINE args)</code></div><div class="doc"><div class="markdown"><p>Bootstrap-only version of <code>DEFINE</code> which, post boostrap, can be overwritten in LISP. </p>
<p>The single argument to <code>DEFINE</code> should be an assoc list which should be nconced onto the front of the oblist. Broadly, (SETQ OBLIST (NCONC ARG1 OBLIST))</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L397">view source</a></div></div><div class="public anchor" id="var-DIFFERENCE"><h3>DIFFERENCE</h3><div class="usage"><code>(DIFFERENCE x y)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L327">view source</a></div></div><div class="public anchor" id="var-DOC"><h3>DOC</h3><div class="usage"><code>(DOC symbol)</code></div><div class="doc"><div class="markdown"><p>Open the page for this <code>symbol</code> in the Lisp 1.5 manual, if known, in the default web browser.</p>
<p><strong>NOTE THAT</strong> this is an extension function, not available in strct mode.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L456">view source</a></div></div><div class="public anchor" id="var-EQ"><h3>EQ</h3><div class="usage"><code>(EQ x y)</code></div><div class="doc"><div class="markdown"><p>Returns <code>T</code> if and only if both <code>x</code> and <code>y</code> are bound to the same atom, else <code>NIL</code>.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L234">view source</a></div></div><div class="public anchor" id="var-EQUAL"><h3>EQUAL</h3><div class="usage"><code>(EQUAL x y)</code></div><div class="doc"><div class="markdown"><p>This is a predicate that is true if its two arguments are identical S-expressions, and false if they are different. (The elementary predicate <code>EQ</code> is defined only for atomic arguments.) The definition of <code>EQUAL</code> is an example of a conditional expression inside a conditional expression.</p>
<p>NOTE: returns <code>F</code> on failure, not <code>NIL</code></p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L243">view source</a></div></div><div class="public anchor" id="var-ERROR"><h3>ERROR</h3><div class="usage"><code>(ERROR &amp; args)</code></div><div class="doc"><div class="markdown"><p>Throw an error</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L375">view source</a></div></div><div class="public anchor" id="var-FIXP"><h3>FIXP</h3><div class="usage"><code>(FIXP x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L352">view source</a></div></div><div class="public anchor" id="var-GENSYM"><h3>GENSYM</h3><div class="usage"><code>(GENSYM)</code></div><div class="doc"><div class="markdown"><p>Generate a unique symbol.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L370">view source</a></div></div><div class="public anchor" id="var-GREATERP"><h3>GREATERP</h3><div class="usage"><code>(GREATERP x y)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L364">view source</a></div></div><div class="public anchor" id="var-lax.3F"><h3>lax?</h3><div class="usage"><code>(lax? symbol)</code></div><div class="doc"><div class="markdown"><p>Are we in lax mode? If so. return true; is not, throw an exception with this <code>symbol</code>.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L40">view source</a></div></div><div class="public anchor" id="var-LESSP"><h3>LESSP</h3><div class="usage"><code>(LESSP x y)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L360">view source</a></div></div><div class="public anchor" id="var-LIST"><h3>LIST</h3><div class="usage"><code>(LIST &amp; args)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L204">view source</a></div></div><div class="public anchor" id="var-NILP"><h3>NILP</h3><h4 class="type">macro</h4><div class="usage"><code>(NILP x)</code></div><div class="doc"><div class="markdown"><p>Not part of LISP 1.5: <code>T</code> if <code>o</code> is <code>NIL</code>, else <code>NIL</code>.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L215">view source</a></div></div><div class="public anchor" id="var-NULL"><h3>NULL</h3><h4 class="type">macro</h4><div class="usage"><code>(NULL x)</code></div><div class="doc"><div class="markdown"><p>Returns <code>T</code> if and only if the argument <code>x</code> is bound to <code>NIL</code>; else <code>F</code>.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L210">view source</a></div></div><div class="public anchor" id="var-NUMBERP"><h3>NUMBERP</h3><div class="usage"><code>(NUMBERP x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L356">view source</a></div></div><div class="public anchor" id="var-OBLIST"><h3>OBLIST</h3><div class="usage"><code>(OBLIST)</code></div><div class="doc"><div class="markdown"><p>Return a list of the symbols currently bound on the object list.</p>
<p><strong>NOTE THAT</strong> in the Lisp 1.5 manual, footnote at the bottom of page 69, it implies that an argument can be passed but Im not sure of the semantics of this.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L386">view source</a></div></div><div class="public anchor" id="var-PAIRLIS"><h3>PAIRLIS</h3><div class="usage"><code>(PAIRLIS x y a)</code></div><div class="doc"><div class="markdown"><p>This function gives the list of pairs of corresponding elements of the lists <code>x</code> and <code>y</code>, and APPENDs this to the list <code>a</code>. The resultant list of pairs, which is like a table with two columns, is called an association list.</p>
<p>Eessentially, it builds the environment on the stack, implementing shallow binding.</p>
<p>All args are assumed to be <code>beowulf.cons-cell/ConsCell</code> objects. See page 12 of the Lisp 1.5 Programmers Manual.</p>
<p><strong>NOTE THAT</strong> this function is overridden by an implementation in Lisp, but is currently still present for bootstrapping.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L289">view source</a></div></div><div class="public anchor" id="var-PLUS"><h3>PLUS</h3><div class="usage"><code>(PLUS &amp; args)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L317">view source</a></div></div><div class="public anchor" id="var-QUOTIENT"><h3>QUOTIENT</h3><div class="usage"><code>(QUOTIENT x y)</code></div><div class="doc"><div class="markdown"><p>Im not certain from the documentation whether Lisp 1.5 <code>QUOTIENT</code> returned the integer part of the quotient, or a realnum representing the whole quotient. I am for now implementing the latter.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L332">view source</a></div></div><div class="public anchor" id="var-REMAINDER"><h3>REMAINDER</h3><div class="usage"><code>(REMAINDER x y)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L340">view source</a></div></div><div class="public anchor" id="var-RPLACA"><h3>RPLACA</h3><div class="usage"><code>(RPLACA cell value)</code></div><div class="doc"><div class="markdown"><p>Replace the CAR pointer of this <code>cell</code> with this <code>value</code>. Dangerous, should really not exist, but does in Lisp 1.5 (and was important for some performance hacks in early Lisps)</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L154">view source</a></div></div><div class="public anchor" id="var-RPLACD"><h3>RPLACD</h3><div class="usage"><code>(RPLACD cell value)</code></div><div class="doc"><div class="markdown"><p>Replace the CDR pointer of this <code>cell</code> with this <code>value</code>. Dangerous, should really not exist, but does in Lisp 1.5 (and was important for some performance hacks in early Lisps)</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L179">view source</a></div></div><div class="public anchor" id="var-SET"><h3>SET</h3><div class="usage"><code>(SET symbol val)</code></div><div class="doc"><div class="markdown"><p>Implementation of SET in Clojure. Add to the <code>oblist</code> a binding of the value of <code>var</code> to the value of <code>val</code>. NOTE WELL: this is not SETQ!</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L417">view source</a></div></div><div class="public anchor" id="var-SUB1"><h3>SUB1</h3><div class="usage"><code>(SUB1 x)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L348">view source</a></div></div><div class="public anchor" id="var-TIMES"><h3>TIMES</h3><div class="usage"><code>(TIMES &amp; args)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L322">view source</a></div></div><div class="public anchor" id="var-TRACE"><h3>TRACE</h3><div class="usage"><code>(TRACE s)</code></div><div class="doc"><div class="markdown"><p>Add this symbol <code>s</code> to the set of symbols currently being traced. If <code>s</code> is not a symbol, does nothing.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L442">view source</a></div></div><div class="public anchor" id="var-traced-symbols"><h3>traced-symbols</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Symbols currently being traced.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L432">view source</a></div></div><div class="public anchor" id="var-traced.3F"><h3>traced?</h3><div class="usage"><code>(traced? s)</code></div><div class="doc"><div class="markdown"><p>Return <code>true</code> iff <code>s</code> is a symbol currently being traced, else <code>nil</code>.</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L436">view source</a></div></div><div class="public anchor" id="var-uaf"><h3>uaf</h3><div class="usage"><code>(uaf l path)</code></div><div class="doc"><div class="markdown"><p>Universal access function; <code>l</code> is expected to be an arbitrary LISP list, <code>path</code> a (clojure) list of the characters <code>a</code> and <code>d</code>. Intended to make declaring all those fiddly <code>#'c[ad]+r'</code> functions a bit easier</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L98">view source</a></div></div><div class="public anchor" id="var-UNTRACE"><h3>UNTRACE</h3><div class="usage"><code>(UNTRACE s)</code></div><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="src-link"><a href="https://github.com/simon-brooke/beowulf/blob/master/src/beowulf/host.clj#L449">view source</a></div></div></div></body></html>