OSDN Git Service

Merge pull request #1 from calroc/update-sphinx
[joypy/Thun.git] / docs / sphinx_docs / _build / html / index.html
1
2 <!DOCTYPE html>
3
4 <html>
5   <head>
6     <meta charset="utf-8" />
7     <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
9     <title>Thun 0.4.1 Documentation &#8212; Thun 0.4.1 documentation</title>
10     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
11     <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
12     <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
13     <script src="_static/jquery.js"></script>
14     <script src="_static/underscore.js"></script>
15     <script src="_static/doctools.js"></script>
16     <link rel="index" title="Index" href="genindex.html" />
17     <link rel="search" title="Search" href="search.html" />
18     <link rel="next" title="Thun: Joy in Python" href="notebooks/Intro.html" />
19    
20   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
21   
22   
23   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
24
25   </head><body>
26   
27
28     <div class="document">
29       <div class="documentwrapper">
30         <div class="bodywrapper">
31           
32
33           <div class="body" role="main">
34             
35   <section id="thun-release-documentation">
36 <h1>Thun 0.4.1 Documentation<a class="headerlink" href="#thun-release-documentation" title="Permalink to this headline">¶</a></h1>
37 <p>Thun is dialect of Joy written in Python.</p>
38 <p><a class="reference external" href="https://en.wikipedia.org/wiki/Joy_(programming_language)">Joy</a> is a programming language created by Manfred von Thun that is easy to
39 use and understand and has many other nice properties.  This Python
40 package implements an interpreter for a dialect of Joy that attempts to
41 stay very close to the spirit of Joy but does not precisely match the
42 behaviour of the original version(s) written in C.  The main difference
43 between Thun and the originals, other than being written in Python, is
44 that it works by the “Continuation-Passing Style”.</p>
45 <p>Joy is:</p>
46 <ul class="simple">
47 <li><p><a class="reference external" href="https://en.wikipedia.org/wiki/Purely_functional_programming">Purely Functional</a></p></li>
48 <li><p><a class="reference external" href="https://en.wikipedia.org/wiki/Stack-oriented_programming_language">Stack-based</a></p></li>
49 <li><p><a class="reference external" href="https://en.wikipedia.org/wiki/Concatenative_programming_language">Concatinative</a> ( See also <a class="reference external" href="http://www.concatenative.org/wiki/view/Concatenative%20language">concatenative.org</a>)</p></li>
50 <li><p><a class="reference internal" href="notebooks/Categorical.html"><span class="doc">Categorical</span></a></p></li>
51 </ul>
52 <p>I hope that this package is useful in the sense that it provides an
53 additional joy interpreter (the binary in the archive from La Trobe seems
54 to run just fine on my modern Linux machine!)  But I also hope that you
55 can read and understand the Python code and play with the implementation
56 itself.</p>
57 <section id="quick-start">
58 <h2>Quick Start<a class="headerlink" href="#quick-start" title="Permalink to this headline">¶</a></h2>
59 <p>Install from <a class="reference external" href="https://pypi.org/project/Thun/">PyPI</a> in the usual way:</p>
60 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pip install Thun
61 </pre></div>
62 </div>
63 <p>To start the REPL:</p>
64 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ python -m joy
65 </pre></div>
66 </div>
67 <p>Continue with <a class="reference internal" href="notebooks/Intro.html"><span class="doc">the introduction</span></a>.</p>
68 </section>
69 <section id="project-hosted-on-osdn">
70 <h2>Project Hosted on <a class="reference external" href="https://osdn.net/projects/joypy/">OSDN</a><a class="headerlink" href="#project-hosted-on-osdn" title="Permalink to this headline">¶</a></h2>
71 <ul class="simple">
72 <li><p><a class="reference external" href="https://osdn.net/projects/joypy/scm/hg/Joypy/tree/tip/">Source Repository</a> (Mercurial)</p></li>
73 <li><p><a class="reference external" href="https://osdn.net/projects/joypy/ticket/">Bug tracker</a></p></li>
74 <li><p><a class="reference external" href="https://osdn.net/projects/joypy/forums/">Forums</a></p></li>
75 <li><p><a class="reference external" href="https://osdn.net/projects/joypy/lists/">Mailing list</a></p></li>
76 </ul>
77 </section>
78 <section id="information-on-the-joy-language">
79 <h2>Information on the Joy language<a class="headerlink" href="#information-on-the-joy-language" title="Permalink to this headline">¶</a></h2>
80 <p>See <a class="reference external" href="https://en.wikipedia.org/wiki/Joy_(programming_language)">the Wikipedia article</a> and <a class="reference external" href="http://www.kevinalbrecht.com/code/joy-mirror/index.html">Kevin Albrecht’s mirror of Manfred von Thun’s original website for the Joy Programming Language</a> for more information on the Joy language.</p>
81 <p>The best source (no pun intended) for learning about Joy is the
82 information made available at the website of La Trobe University (see the
83 mirror link above) which contains source code for the
84 original C interpreter, Joy language source code for various functions,
85 and a great deal of fascinating material mostly written by Von Thun on
86 Joy and its deeper facets as well as how to program in it and several
87 interesting aspects.  It’s quite a treasure trove.</p>
88 </section>
89 <section id="documentation-on-thun-dialect">
90 <h2>Documentation on Thun Dialect<a class="headerlink" href="#documentation-on-thun-dialect" title="Permalink to this headline">¶</a></h2>
91 <p>The following is specific information for this dialect of Joy.</p>
92 <div class="toctree-wrapper compound">
93 <ul>
94 <li class="toctree-l1"><a class="reference internal" href="notebooks/Intro.html">Thun: Joy in Python</a><ul>
95 <li class="toctree-l2"><a class="reference internal" href="notebooks/Intro.html#read-eval-print-loop-repl">Read-Eval-Print Loop (REPL)</a></li>
96 <li class="toctree-l2"><a class="reference internal" href="notebooks/Intro.html#the-stack">The Stack</a></li>
97 <li class="toctree-l2"><a class="reference internal" href="notebooks/Intro.html#purely-functional-datastructures">Purely Functional Datastructures</a></li>
98 <li class="toctree-l2"><a class="reference internal" href="notebooks/Intro.html#the-joy-function">The <code class="docutils literal notranslate"><span class="pre">joy()</span></code> function</a></li>
99 <li class="toctree-l2"><a class="reference internal" href="notebooks/Intro.html#parser">Parser</a></li>
100 <li class="toctree-l2"><a class="reference internal" href="notebooks/Intro.html#library">Library</a></li>
101 </ul>
102 </li>
103 <li class="toctree-l1"><a class="reference internal" href="joy.html">Joy Interpreter</a><ul>
104 <li class="toctree-l2"><a class="reference internal" href="joy.html#module-joy.joy"><code class="docutils literal notranslate"><span class="pre">joy.joy</span></code></a></li>
105 </ul>
106 </li>
107 <li class="toctree-l1"><a class="reference internal" href="stack.html">Stack or Quote or Sequence or List…</a><ul>
108 <li class="toctree-l2"><a class="reference internal" href="stack.html#module-joy.utils.stack"><code class="docutils literal notranslate"><span class="pre">joy.utils.stack</span></code></a></li>
109 </ul>
110 </li>
111 <li class="toctree-l1"><a class="reference internal" href="parser.html">Parsing Text into Joy Expressions</a><ul>
112 <li class="toctree-l2"><a class="reference internal" href="parser.html#module-joy.parser"><code class="docutils literal notranslate"><span class="pre">joy.parser</span></code></a></li>
113 <li class="toctree-l2"><a class="reference internal" href="parser.html#parser-internals">Parser Internals</a></li>
114 </ul>
115 </li>
116 <li class="toctree-l1"><a class="reference internal" href="pretty.html">Tracing Joy Execution</a><ul>
117 <li class="toctree-l2"><a class="reference internal" href="pretty.html#module-joy.utils.pretty_print"><code class="docutils literal notranslate"><span class="pre">joy.utils.pretty_print</span></code></a></li>
118 </ul>
119 </li>
120 <li class="toctree-l1"><a class="reference internal" href="library.html">Function Reference</a><ul>
121 <li class="toctree-l2"><a class="reference internal" href="library.html#module-joy.library"><code class="docutils literal notranslate"><span class="pre">joy.library</span></code></a></li>
122 <li class="toctree-l2"><a class="reference internal" href="library.html#module-joy.utils.generated_library">Auto-generated Functions</a></li>
123 </ul>
124 </li>
125 <li class="toctree-l1"><a class="reference internal" href="lib.html">Functions Grouped by, er, Function with Examples</a><ul>
126 <li class="toctree-l2"><a class="reference internal" href="lib.html#stack-chatter">Stack Chatter</a></li>
127 <li class="toctree-l2"><a class="reference internal" href="lib.html#list-words">List words</a></li>
128 <li class="toctree-l2"><a class="reference internal" href="lib.html#math-words">Math words</a></li>
129 <li class="toctree-l2"><a class="reference internal" href="lib.html#logic-and-comparison">Logic and Comparison</a></li>
130 <li class="toctree-l2"><a class="reference internal" href="lib.html#miscellaneous">Miscellaneous</a></li>
131 <li class="toctree-l2"><a class="reference internal" href="lib.html#combinators">Combinators</a></li>
132 <li class="toctree-l2"><a class="reference internal" href="lib.html#void"><code class="docutils literal notranslate"><span class="pre">void</span></code></a></li>
133 </ul>
134 </li>
135 <li class="toctree-l1"><a class="reference internal" href="types.html">Type Inference of Joy Expressions</a><ul>
136 <li class="toctree-l2"><a class="reference internal" href="types.html#joy-utils-types"><code class="docutils literal notranslate"><span class="pre">joy.utils.types</span></code></a></li>
137 </ul>
138 </li>
139 <li class="toctree-l1"><a class="reference internal" href="notebooks/index.html">Essays about Programming in Joy</a><ul>
140 <li class="toctree-l2"><a class="reference internal" href="notebooks/Developing.html">Developing a Program in Joy</a></li>
141 <li class="toctree-l2"><a class="reference internal" href="notebooks/Quadratic.html">Quadratic formula</a></li>
142 <li class="toctree-l2"><a class="reference internal" href="notebooks/Replacing.html">Replacing Functions in the Dictionary</a></li>
143 <li class="toctree-l2"><a class="reference internal" href="notebooks/Recursion_Combinators.html">Recursion Combinators</a></li>
144 <li class="toctree-l2"><a class="reference internal" href="notebooks/Ordered_Binary_Trees.html">Treating Trees I: Ordered Binary Trees</a></li>
145 <li class="toctree-l2"><a class="reference internal" href="notebooks/Treestep.html">Treating Trees II: <code class="docutils literal notranslate"><span class="pre">treestep</span></code></a></li>
146 <li class="toctree-l2"><a class="reference internal" href="notebooks/Generator_Programs.html">Using <code class="docutils literal notranslate"><span class="pre">x</span></code> to Generate Values</a></li>
147 <li class="toctree-l2"><a class="reference internal" href="notebooks/Newton-Raphson.html">Newton’s method</a></li>
148 <li class="toctree-l2"><a class="reference internal" href="notebooks/Zipper.html">Traversing Datastructures with Zippers</a></li>
149 <li class="toctree-l2"><a class="reference internal" href="notebooks/Types.html">The Blissful Elegance of Typing Joy</a></li>
150 <li class="toctree-l2"><a class="reference internal" href="notebooks/TypeChecking.html">Type Checking</a></li>
151 <li class="toctree-l2"><a class="reference internal" href="notebooks/NoUpdates.html">No Updates</a></li>
152 <li class="toctree-l2"><a class="reference internal" href="notebooks/Categorical.html">Categorical Programming</a></li>
153 <li class="toctree-l2"><a class="reference internal" href="notebooks/The_Four_Operations.html">The Four Fundamental Operations of Definite Action</a></li>
154 <li class="toctree-l2"><a class="reference internal" href="notebooks/Derivatives_of_Regular_Expressions.html">∂RE</a></li>
155 </ul>
156 </li>
157 </ul>
158 </div>
159 </section>
160 </section>
161 <section id="indices-and-tables">
162 <h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h1>
163 <ul class="simple">
164 <li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
165 <li><p><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></p></li>
166 <li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
167 </ul>
168 </section>
169
170
171           </div>
172           
173         </div>
174       </div>
175       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
176         <div class="sphinxsidebarwrapper">
177 <h1 class="logo"><a href="#">Thun</a></h1>
178
179
180
181
182
183
184
185
186 <h3>Navigation</h3>
187 <ul>
188 <li class="toctree-l1"><a class="reference internal" href="notebooks/Intro.html">Thun: Joy in Python</a></li>
189 <li class="toctree-l1"><a class="reference internal" href="joy.html">Joy Interpreter</a></li>
190 <li class="toctree-l1"><a class="reference internal" href="stack.html">Stack or Quote or Sequence or List…</a></li>
191 <li class="toctree-l1"><a class="reference internal" href="parser.html">Parsing Text into Joy Expressions</a></li>
192 <li class="toctree-l1"><a class="reference internal" href="pretty.html">Tracing Joy Execution</a></li>
193 <li class="toctree-l1"><a class="reference internal" href="library.html">Function Reference</a></li>
194 <li class="toctree-l1"><a class="reference internal" href="lib.html">Functions Grouped by, er, Function with Examples</a></li>
195 <li class="toctree-l1"><a class="reference internal" href="types.html">Type Inference of Joy Expressions</a></li>
196 <li class="toctree-l1"><a class="reference internal" href="notebooks/index.html">Essays about Programming in Joy</a></li>
197 </ul>
198
199 <div class="relations">
200 <h3>Related Topics</h3>
201 <ul>
202   <li><a href="#">Documentation overview</a><ul>
203       <li>Next: <a href="notebooks/Intro.html" title="next chapter">Thun: Joy in Python</a></li>
204   </ul></li>
205 </ul>
206 </div>
207 <div id="searchbox" style="display: none" role="search">
208   <h3 id="searchlabel">Quick search</h3>
209     <div class="searchformwrapper">
210     <form class="search" action="search.html" method="get">
211       <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
212       <input type="submit" value="Go" />
213     </form>
214     </div>
215 </div>
216 <script>$('#searchbox').show(0);</script>
217
218
219
220
221
222
223
224
225         </div>
226       </div>
227       <div class="clearer"></div>
228     </div>
229     <div class="footer" role="contentinfo">
230 <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">
231 <img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" />
232 </a>
233 <br />
234 <span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Thun Documentation</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="https://joypy.osdn.io/" property="cc:attributionName" rel="cc:attributionURL">Simon Forman</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.<br />Based on a work at <a xmlns:dct="http://purl.org/dc/terms/" href="https://osdn.net/projects/joypy/" rel="dct:source">https://osdn.net/projects/joypy/</a>.
235       Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.3.0.
236     </div>
237
238   </body>
239 </html>