7 lines
9.6 KiB
HTML
7 lines
9.6 KiB
HTML
<!DOCTYPE html PUBLIC ""
|
||
"">
|
||
<html><head><meta charset="UTF-8" /><title>wildwood.advocate 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">Wildwood</span> <span class="project-version">0.1.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="AgainstTruth.html"><div class="inner"><span>Against Truth</span></div></a></li><li class="depth-1 "><a href="Analysis.html"><div class="inner"><span>Analysis</span></div></a></li><li class="depth-1 "><a href="Arboretum.html"><div class="inner"><span>Arboretum</span></div></a></li><li class="depth-1 "><a href="Arden.html"><div class="inner"><span>Arden</span></div></a></li><li class="depth-1 "><a href="BatesonKammerer.html"><div class="inner"><span>The Bateson / Kammerer debate</span></div></a></li><li class="depth-1 "><a href="Bialowieza.html"><div class="inner"><span>Bialowieza</span></div></a></li><li class="depth-1 "><a href="Errata.html"><div class="inner"><span>Errata</span></div></a></li><li class="depth-1 "><a href="Experience.html"><div class="inner"><span>Experience</span></div></a></li><li class="depth-1 "><a href="HegemonicArgument.html"><div class="inner"><span>Hegemonic Argument</span></div></a></li><li class="depth-1 "><a href="History.html"><div class="inner"><span>History</span></div></a></li><li class="depth-1 "><a href="HuxleyKropotkin.html"><div class="inner"><span>The Huxley / Kropotkin debate</span></div></a></li><li class="depth-1 "><a href="Implementing.html"><div class="inner"><span>Implementing</span></div></a></li><li class="depth-1 "><a href="JAccuse.html"><div class="inner"><span>J'Accuse</span></div></a></li><li class="depth-1 "><a href="KnacqTools.html"><div class="inner"><span>KnacqTools</span></div></a></li><li class="depth-1 "><a href="Manifesto.html"><div class="inner"><span>Manifesto</span></div></a></li><li class="depth-1 "><a href="OnHylasAndPhilonus.html"><div class="inner"><span>On the First Dialogue of Hylas and Philonous</span></div></a></li><li class="depth-1 "><a href="PredicateSubtext.html"><div class="inner"><span>On the subtext of a predicate</span></div></a></li><li class="depth-1 "><a href="TheProblem.html"><div class="inner"><span>The Problem</span></div></a></li><li class="depth-1 "><a href="intro.html"><div class="inner"><span>Introduction to Wildwood</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>wildwood</span></div></div></li><li class="depth-2 branch current"><a href="wildwood.advocate.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>advocate</span></div></a></li><li class="depth-2 branch"><a href="wildwood.bialowieza.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bialowieza</span></div></a></li><li class="depth-2 branch"><a href="wildwood.caesar.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>caesar</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>dengine</span></div></div></li><li class="depth-3 branch"><a href="wildwood.dengine.engine.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>engine</span></div></a></li><li class="depth-3"><a href="wildwood.dengine.node.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>node</span></div></a></li><li class="depth-2 branch"><a href="wildwood.knowledge-accessor.html"><div class="inner"><span class="tree" style="top: -83px;"><span class="top" style="height: 92px;"></span><span class="bottom"></span></span><span>knowledge-accessor</span></div></a></li><li class="depth-2 branch"><a href="wildwood.mongo-ka.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>mongo-ka</span></div></a></li><li class="depth-2"><a href="wildwood.schema.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>schema</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="wildwood.advocate.html#var-Advocate"><div class="inner"><span>Advocate</span></div></a></li><li class="depth-2 branch"><a href="wildwood.advocate.html#var-decide"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>decide</span></div></a></li><li class="depth-2 branch"><a href="wildwood.advocate.html#var-id"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>id</span></div></a></li><li class="depth-2 branch"><a href="wildwood.advocate.html#var-move"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>move</span></div></a></li><li class="depth-2"><a href="wildwood.advocate.html#var-record"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>record</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">wildwood.advocate</h1><div class="doc"><div class="markdown"><p>An agent capable of playing the explanation game.</p>
|
||
<p>An advocate must have its own knowledge accessor. Different advocates within a game may be accessing different knowledge bases, or different subsets of the same knowledge base with different - potentially competing - knowledge. It also needs to know the schema in which knowledge will be presented.</p>
|
||
<p>Since the mechanism by which the application will communicate with the library must include a way for users to interact with the game, and since the role of the user in the came is just as a participant, advocate must be defined as a protocol, in order that it may be extended by code within the application which is passed in to the game when the game is started. Indeed, multiple agents - the user(s) and potentially non-player characters - may be passed in.</p>
|
||
<p>In this conception, nothing within a default advocate has to be able to produce or consume natural language. It is sufficient for the API exposed by wildwood.advocate to receive and return wildwood.schema objects.</p>
|
||
<p>Obviously to show a user interface anything similar to Arden’s, or for what I intend for The Great Game, the advocates passed must ‘at their other end’ - that is, on the application side rather than the library side - be able to consume and emit natural language, but that functionality does not need to be part of the wildwood library, and certainly does not need to be part of the default advocate as specified here.</p></div></div><div class="public anchor" id="var-Advocate"><h3>Advocate</h3><h4 class="type">protocol</h4><div class="usage"></div><div class="doc"><div class="markdown"></div></div><div class="members"><h4>members</h4><div class="inner"><div class="public anchor" id="var-decide"><h3>decide</h3><div class="usage"><code>(decide self proposition argument)</code></div><div class="doc"><div class="markdown"><p>Return <code>true</code>, <code>false</code> or <code>nil</code> as the value of this <code>proposition</code>, given this <code>argument</code>. The value of <code>proposition</code> should be a proposition as defined by <code>wildwood.schema/proposition?</code>; the value of <code>argument</code> should satisfy <code>wildwood.schema/argument?</code>.</p></div></div></div><div class="public anchor" id="var-id"><h3>id</h3><div class="usage"><code>(id self)</code></div><div class="doc"><div class="markdown"><p>Return a value which uniquely identifies this agent.</p></div></div></div><div class="public anchor" id="var-move"><h3>move</h3><div class="usage"><code>(move self proposition argument)</code></div><div class="doc"><div class="markdown"><p>Return a new argument structure representing the result of applying my <code>decide</code> method to this <code>proposition</code> and <code>argument</code>, specifying in some way not yet determined what sort of move I have made.</p></div></div></div><div class="public anchor" id="var-record"><h3>record</h3><div class="usage"><code>(record self proposition value)</code></div><div class="doc"><div class="markdown"><p>Pass a <code>proposition</code> with a determined <code>value</code> to me, in order that advocates can, if desired, record the determined value in their knowledge base. The API does not require that the advocate records the decision, only that it has the opportunity to do so. Return the value.</p></div></div></div></div></div><div class="src-link"><a href="https://github.com/simon-brooke/the-great-game/blob/master/src/wildwood/advocate.clj#L31">view source</a></div></div></div></body></html> |