beowulf/docs/codox/index.html

3 lines
19 KiB
HTML
Raw Permalink 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 0.3.0</title><link rel="icon" type="image/x-icon" href="../img/beowulf_logo_favicon.png" /><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</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 current"><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="further_reading.html"><div class="inner"><span>Further Reading</span></div></a></li><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>The properties of the system, and their values</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"><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.interop.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>interop</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="namespace-index" id="content"><h1><span class="project-title"><span class="project-name">Beowulf</span> <span class="project-version">0.3.0</span></span></h1><h5 class="license">Released under the <a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html">GPL-2.0-or-later</a></h5><div class="doc"><p>LISP 1.5 is to all Lisp dialects as Beowulf is to English literature.</p></div><h2>Installation</h2><p>To install, add the following dependency to your project or build file:</p><pre class="deps">[beowulf "0.3.0"]</pre><h2>Topics</h2><ul class="topics"><li><a href="further_reading.html">Further Reading</a></li><li><a href="intro.html">beowulf</a></li><li><a href="mexpr.html">Interpreting M-Expressions</a></li><li><a href="values.html">The properties of the system, and their values</a></li></ul><h2>Namespaces</h2><div class="namespace"><h3><a href="beowulf.bootstrap.html">beowulf.bootstrap</a></h3><div class="doc"><div class="markdown"><p>Lisp as defined in Chapter 1 (pages 1-14) of the <code>Lisp 1.5 Programmer's Manual</code>; that is to say, a very simple Lisp language, which should, I believe, be sufficient in conjunction with the functions provided by <code>beowulf.host</code>, be sufficient to bootstrap the full Lisp 1.5 interpreter..</p></div></div><div class="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.bootstrap.html#var-APPLY">APPLY</a> </li><li> <a href="beowulf.bootstrap.html#var-EVAL">EVAL</a> </li><li> <a href="beowulf.bootstrap.html#var-find-target">find-target</a> </li><li> <a href="beowulf.bootstrap.html#var-PROG">PROG</a> </li><li> <a href="beowulf.bootstrap.html#var-prog-eval">prog-eval</a> </li><li> <a href="beowulf.bootstrap.html#var-try-resolve-subroutine">try-resolve-subroutine</a> </li></ul></div></div><div class="namespace"><h3><a href="beowulf.cons-cell.html">beowulf.cons-cell</a></h3><div class="doc"><div class="markdown"><p>The fundamental cons cell on which all Lisp structures are built. Lisp 1.5 lists do not necessarily have a sequence as their CDR, and must have both CAR and CDR mutable, so cannot be implemented on top of Clojure lists.</p></div></div><div class="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.cons-cell.html#var-cons-cell.3F">cons-cell?</a> </li><li> <a href="beowulf.cons-cell.html#var-F">F</a> </li><li> <a href="beowulf.cons-cell.html#var-make-beowulf-list">make-beowulf-list</a> </li><li> <a href="beowulf.cons-cell.html#var-make-cons-cell">make-cons-cell</a> </li><li> <a href="beowulf.cons-cell.html#var-MutableSequence">MutableSequence</a> </li><li> <a href="beowulf.cons-cell.html#var-pretty-print">pretty-print</a> </li><li> <a href="beowulf.cons-cell.html#var-T">T</a> </li></ul></div></div><div class="namespace"><h3><a href="beowulf.core.html">beowulf.core</a></h3><div class="doc"><div class="markdown"><p>Essentially, the <code>-main</code> function and the bootstrap read-eval-print loop.</p></div></div><div class="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.core.html#var--main">-main</a> </li><li> <a href="beowulf.core.html#var-cli-options">cli-options</a> </li><li> <a href="beowulf.core.html#var-repl">repl</a> </li><li> <a href="beowulf.core.html#var-stop-word">stop-word</a> </li></ul></div></div><div class="namespace"><h3><a href="beowulf.gendoc.html">beowulf.gendoc</a></h3><div class="doc"><div class="markdown"><p>Generate table of documentation of Lisp symbols and functions.</p></div></div><div class="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.gendoc.html#var-find-documentation">find-documentation</a> </li><li> <a href="beowulf.gendoc.html#var-gen-doc-table">gen-doc-table</a> </li><li> <a href="beowulf.gendoc.html#var-gen-index">gen-index</a> </li><li> <a href="beowulf.gendoc.html#var-host-functions">host-functions</a> </li><li> <a href="beowulf.gendoc.html#var-infer-implementation">infer-implementation</a> </li><li> <a href="beowulf.gendoc.html#var-infer-signature">infer-signature</a> </li><li> <a href="beowulf.gendoc.html#var-infer-type">infer-type</a> </li><li> <a href="beowulf.gendoc.html#var-open-doc">open-doc</a> </li></ul></div></div><div class="namespace"><h3><a href="beowulf.host.html">beowulf.host</a></h3><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="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.host.html#var-ADD1">ADD1</a> </li><li> <a href="beowulf.host.html#var-AND">AND</a> </li><li> <a href="beowulf.host.html#var-ASSOC">ASSOC</a> </li><li> <a href="beowulf.host.html#var-ATOM">ATOM</a> </li><li> <a href="beowulf.host.html#var-ATOM.3F">ATOM?</a> </li><li> <a href="beowulf.host.html#var-CAAAAR">CAAAAR</a> </li><li> <a href="beowulf.host.html#var-CAAADR">CAAADR</a> </li><li> <a href="beowulf.host.html#var-CAAAR">CAAAR</a> </li><li> <a href="beowulf.host.html#var-CAADAR">CAADAR</a> </li><li> <a href="beowulf.host.html#var-CAADDR">CAADDR</a> </li><li> <a href="beowulf.host.html#var-CAADR">CAADR</a> </li><li> <a href="beowulf.host.html#var-CAAR">CAAR</a> </li><li> <a href="beowulf.host.html#var-CADAAR">CADAAR</a> </li><li> <a href="beowulf.host.html#var-CADADR">CADADR</a> </li><li> <a href="beowulf.host.html#var-CADAR">CADAR</a> </li><li> <a href="beowulf.host.html#var-CADDAR">CADDAR</a> </li><li> <a href="beowulf.host.html#var-CADDDR">CADDDR</a> </li><li> <a href="beowulf.host.html#var-CADDR">CADDR</a> </li><li> <a href="beowulf.host.html#var-CADR">CADR</a> </li><li> <a href="beowulf.host.html#var-CAR">CAR</a> </li><li> <a href="beowulf.host.html#var-CDAAAR">CDAAAR</a> </li><li> <a href="beowulf.host.html#var-CDAADR">CDAADR</a> </li><li> <a href="beowulf.host.html#var-CDAAR">CDAAR</a> </li><li> <a href="beowulf.host.html#var-CDADAR">CDADAR</a> </li><li> <a href="beowulf.host.html#var-CDADDR">CDADDR</a> </li><li> <a href="beowulf.host.html#var-CDADR">CDADR</a> </li><li> <a href="beowulf.host.html#var-CDAR">CDAR</a> </li><li> <a href="beowulf.host.html#var-CDDAAR">CDDAAR</a> </li><li> <a href="beowulf.host.html#var-CDDADR">CDDADR</a> </li><li> <a href="beowulf.host.html#var-CDDAR">CDDAR</a> </li><li> <a href="beowulf.host.html#var-CDDDAR">CDDDAR</a> </li><li> <a href="beowulf.host.html#var-CDDDDR">CDDDDR</a> </li><li> <a href="beowulf.host.html#var-CDDDR">CDDDR</a> </li><li> <a href="beowulf.host.html#var-CDDR">CDDR</a> </li><li> <a href="beowulf.host.html#var-CDR">CDR</a> </li><li> <a href="beowulf.host.html#var-CONS">CONS</a> </li><li> <a href="beowulf.host.html#var-CONSP">CONSP</a> </li><li> <a href="beowulf.host.html#var-DEFINE">DEFINE</a> </li><li> <a href="beowulf.host.html#var-DEFLIST">DEFLIST</a> </li><li> <a href="beowulf.host.html#var-DIFFERENCE">DIFFERENCE</a> </li><li> <a href="beowulf.host.html#var-DOC">DOC</a> </li><li> <a href="beowulf.host.html#var-EQ">EQ</a> </li><li> <a href="beowulf.host.html#var-EQUAL">EQUAL</a> </li><li> <a href="beowulf.host.html#var-ERROR">ERROR</a> </li><li> <a href="beowulf.host.html#var-FIXP">FIXP</a> </li><li> <a href="beowulf.host.html#var-GENSYM">GENSYM</a> </li><li> <a href="beowulf.host.html#var-GET">GET</a> </li><li> <a href="beowulf.host.html#var-GREATERP">GREATERP</a> </li><li> <a href="beowulf.host.html#var-lax.3F">lax?</a> </li><li> <a href="beowulf.host.html#var-LESSP">LESSP</a> </li><li> <a href="beowulf.host.html#var-LIST">LIST</a> </li><li> <a href="beowulf.host.html#var-magic-marker">magic-marker</a> </li><li> <a href="beowulf.host.html#var-NILP">NILP</a> </li><li> <a href="beowulf.host.html#var-NULL">NULL</a> </li><li> <a href="beowulf.host.html#var-NUMBERP">NUMBERP</a> </li><li> <a href="beowulf.host.html#var-OBLIST">OBLIST</a> </li><li> <a href="beowulf.host.html#var-OR">OR</a> </li><li> <a href="beowulf.host.html#var-PAIRLIS">PAIRLIS</a> </li><li> <a href="beowulf.host.html#var-PLUS">PLUS</a> </li><li> <a href="beowulf.host.html#var-PUT">PUT</a> </li><li> <a href="beowulf.host.html#var-QUOTIENT">QUOTIENT</a> </li><li> <a href="beowulf.host.html#var-REMAINDER">REMAINDER</a> </li><li> <a href="beowulf.host.html#var-RPLACA">RPLACA</a> </li><li> <a href="beowulf.host.html#var-RPLACD">RPLACD</a> </li><li> <a href="beowulf.host.html#var-SET">SET</a> </li><li> <a href="beowulf.host.html#var-SUB1">SUB1</a> </li><li> <a href="beowulf.host.html#var-TIMES">TIMES</a> </li><li> <a href="beowulf.host.html#var-TRACE">TRACE</a> </li><li> <a href="beowulf.host.html#var-traced-symbols">traced-symbols</a> </li><li> <a href="beowulf.host.html#var-traced.3F">traced?</a> </li><li> <a href="beowulf.host.html#var-uaf">uaf</a> </li><li> <a href="beowulf.host.html#var-UNTRACE">UNTRACE</a> </li></ul></div></div><div class="namespace"><h3><a href="beowulf.interop.html">beowulf.interop</a></h3><div class="doc"><div class="markdown"><p><strong>TODO</strong>: write docs</p></div></div><div class="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.interop.html#var-INTEROP">INTEROP</a> </li><li> <a href="beowulf.interop.html#var-interpret-qualified-name">interpret-qualified-name</a> </li><li> <a href="beowulf.interop.html#var-listify-qualified-name">listify-qualified-name</a> </li><li> <a href="beowulf.interop.html#var-to-beowulf">to-beowulf</a> </li><li> <a href="beowulf.interop.html#var-to-clojure">to-clojure</a> </li></ul></div></div><div class="namespace"><h3><a href="beowulf.io.html">beowulf.io</a></h3><div class="doc"><div class="markdown"><p>Non-standard extensions to Lisp 1.5 to read and write to the filesystem.</p></div></div><div class="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.io.html#var-default-sysout">default-sysout</a> </li><li> <a href="beowulf.io.html#var-resolve-subr">resolve-subr</a> </li><li> <a href="beowulf.io.html#var-safely-wrap-subr">safely-wrap-subr</a> </li><li> <a href="beowulf.io.html#var-safely-wrap-subrs">safely-wrap-subrs</a> </li><li> <a href="beowulf.io.html#var-SYSIN">SYSIN</a> </li><li> <a href="beowulf.io.html#var-SYSOUT">SYSOUT</a> </li></ul></div></div><div class="namespace"><h3><a href="beowulf.manual.html">beowulf.manual</a></h3><div class="doc"><div class="markdown"><p>Experimental code for accessing the manual online.</p></div></div><div class="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.manual.html#var-*manual-url*">*manual-url*</a> </li><li> <a href="beowulf.manual.html#var-format-page-references">format-page-references</a> </li><li> <a href="beowulf.manual.html#var-index">index</a> </li><li> <a href="beowulf.manual.html#var-page-url">page-url</a> </li></ul></div></div><div class="namespace"><h3><a href="beowulf.oblist.html">beowulf.oblist</a></h3><div class="doc"><div class="markdown"><p>A namespace mainly devoted to the object list and other top level global variables.</p></div></div><div class="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.oblist.html#var-*options*">*options*</a> </li><li> <a href="beowulf.oblist.html#var-NIL">NIL</a> </li><li> <a href="beowulf.oblist.html#var-oblist">oblist</a> </li></ul></div></div><div class="namespace"><h3><a href="beowulf.read.html">beowulf.read</a></h3><div class="doc"><div class="markdown"><p>This provides the reader required for boostrapping. Its not a bad reader - it provides feedback on errors found in the input - but it isnt the real Lisp reader.</p></div></div><div class="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.read.html#var-gsp">gsp</a> </li><li> <a href="beowulf.read.html#var-number-lines">number-lines</a> </li><li> <a href="beowulf.read.html#var-READ">READ</a> </li><li> <a href="beowulf.read.html#var-read-from-console">read-from-console</a> </li><li> <a href="beowulf.read.html#var-strip-line-comments">strip-line-comments</a> </li></ul></div></div><div class="namespace"><h3><a href="beowulf.reader.char-reader.html">beowulf.reader.char-reader</a></h3><div class="doc"><div class="markdown"><p>Provide sensible line editing, auto completion, and history recall.</p></div></div><div class="index"><p>Public variables and functions:</p><ul></ul></div></div><div class="namespace"><h3><a href="beowulf.reader.generate.html">beowulf.reader.generate</a></h3><div class="doc"><div class="markdown"><p>Generating S-Expressions from parse trees. </p></div></div><div class="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.reader.generate.html#var-gen-cond">gen-cond</a> </li><li> <a href="beowulf.reader.generate.html#var-gen-cond-clause">gen-cond-clause</a> </li><li> <a href="beowulf.reader.generate.html#var-gen-dot-terminated-list">gen-dot-terminated-list</a> </li><li> <a href="beowulf.reader.generate.html#var-gen-fn-call">gen-fn-call</a> </li><li> <a href="beowulf.reader.generate.html#var-gen-iexpr">gen-iexpr</a> </li><li> <a href="beowulf.reader.generate.html#var-generate">generate</a> </li><li> <a href="beowulf.reader.generate.html#var-generate-assign">generate-assign</a> </li><li> <a href="beowulf.reader.generate.html#var-generate-defn">generate-defn</a> </li><li> <a href="beowulf.reader.generate.html#var-generate-set">generate-set</a> </li><li> <a href="beowulf.reader.generate.html#var-strip-leading-zeros">strip-leading-zeros</a> </li></ul></div></div><div class="namespace"><h3><a href="beowulf.reader.macros.html">beowulf.reader.macros</a></h3><div class="doc"><div class="markdown"><p>Can I implement reader macros? lets see!</p></div></div><div class="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.reader.macros.html#var-*readmacros*">*readmacros*</a> </li><li> <a href="beowulf.reader.macros.html#var-expand-macros">expand-macros</a> </li></ul></div></div><div class="namespace"><h3><a href="beowulf.reader.parser.html">beowulf.reader.parser</a></h3><div class="doc"><div class="markdown"><p>The actual parser, supporting both S-expression and M-expression syntax.</p></div></div><div class="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.reader.parser.html#var-parse">parse</a> </li></ul></div></div><div class="namespace"><h3><a href="beowulf.reader.simplify.html">beowulf.reader.simplify</a></h3><div class="doc"><div class="markdown"><p>Simplify parse trees. Be aware that this is very tightly coupled with the parser.</p></div></div><div class="index"><p>Public variables and functions:</p><ul><li> <a href="beowulf.reader.simplify.html#var-remove-nesting">remove-nesting</a> </li><li> <a href="beowulf.reader.simplify.html#var-remove-optional-space">remove-optional-space</a> </li><li> <a href="beowulf.reader.simplify.html#var-simplify">simplify</a> </li><li> <a href="beowulf.reader.simplify.html#var-simplify-tree">simplify-tree</a> </li></ul></div></div></div></body></html>