summaryrefslogtreecommitdiff
path: root/manuals/sly/Miscellaneous_002dUtilities.html
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2016-08-19 20:40:12 -0400
committerDavid Thompson <dthompson2@worcester.edu>2016-08-19 20:40:12 -0400
commit9224412274e1e1a31a959083bb257a7d6ab2b113 (patch)
treec82ef8b0136037aa1b278957f42ae665188861be /manuals/sly/Miscellaneous_002dUtilities.html
parentc47d942552568e9a866e9d4887944e0c074dec93 (diff)
Add Sly manual.
Diffstat (limited to 'manuals/sly/Miscellaneous_002dUtilities.html')
-rw-r--r--manuals/sly/Miscellaneous_002dUtilities.html147
1 files changed, 147 insertions, 0 deletions
diff --git a/manuals/sly/Miscellaneous_002dUtilities.html b/manuals/sly/Miscellaneous_002dUtilities.html
new file mode 100644
index 0000000..7d160f4
--- /dev/null
+++ b/manuals/sly/Miscellaneous_002dUtilities.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+A copy of the license is included in the section entitled "GNU
+Free Documentation License".
+
+A copy of the license is also available from the Free Software
+Foundation Web site at http://www.gnu.org/licenses/fdl.html.
+
+
+The document was typeset with
+http://www.texinfo.org/ (GNU Texinfo).
+ -->
+<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>Sly: Miscellaneous-Utilities</title>
+
+<meta name="description" content="Sly: Miscellaneous-Utilities">
+<meta name="keywords" content="Sly: Miscellaneous-Utilities">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta charset="UTF-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Index.html#Index" rel="index" title="Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Utilities.html#Utilities" rel="up" title="Utilities">
+<link href="Contributing.html#Contributing" rel="next" title="Contributing">
+<link href="Live-Reloading.html#Live-Reloading" rel="prev" title="Live Reloading">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.indentedblock {margin-right: 0em}
+blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style: oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space: nowrap}
+span.nolinebreak {white-space: nowrap}
+span.roman {font-family: serif; font-weight: normal}
+span.sansserif {font-family: sans-serif; font-weight: normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<a name="Miscellaneous_002dUtilities"></a>
+<div class="header">
+<p>
+Previous: <a href="Live-Reloading.html#Live-Reloading" accesskey="p" rel="prev">Live Reloading</a>, Up: <a href="Utilities.html#Utilities" accesskey="u" rel="up">Utilities</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Miscellaneous-2"></a>
+<h4 class="subsection">4.6.3 Miscellaneous</h4>
+
+<div class="example">
+<pre class="example">(use-modules (sly utils))
+</pre></div>
+
+<p>Miscellaneous helpful procedures.
+</p>
+<dl>
+<dt><a name="index-define_002dguardian"></a>Scheme Syntax: <strong>define-guardian</strong> <em><var>name</var> <var>reaper</var></em></dt>
+<dd><p>Define a new guardian called <code>name</code> and call <code>reaper</code> when
+an object within the guardian is GC&rsquo;d. Reaping is ensured to happen
+from the same thread that is running the game loop.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-memoize"></a>Scheme Procedure: <strong>memoize</strong> <em><var>proc</var></em></dt>
+<dd><p>Return a memoizing version of <code>proc</code>.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-forever"></a>Scheme Syntax: <strong>forever</strong> <em><var>body</var> &hellip;</em></dt>
+<dd><p>Evaluate <code>body</code> in an unbounded loop. Useful in coroutines that
+have no end.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-trampoline"></a>Scheme Syntax: <strong>trampoline</strong> <em><var>proc-name</var></em></dt>
+<dd><p>Create a new procedure that applies the procedure bound to
+<code>proc-name</code> with all given arguments.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-chain_002a"></a>Scheme Syntax: <strong>chain*</strong> <em><var>args</var> (<var>proc</var> &hellip;) . <var>rest</var></em></dt>
+<dd><p>Handy macro for flattening nested procedure calls where the output of
+an inner call is the last argument to the outer call.
+</p>
+<div class="example">
+<pre class="example">(chain* (list '(1 2) '(3 4))
+ (map +)
+ (fold + 0)) ;; =&gt; 10
+</pre></div>
+
+</dd></dl>
+
+<dl>
+<dt><a name="index-chain"></a>Scheme Syntax: <strong>chain</strong> <em><var>arg</var> (<var>proc</var> &hellip;) . <var>rest</var></em></dt>
+<dd><p>Like <code>chain*</code> but for a single argument.
+</p>
+<div class="example">
+<pre class="example">(chain '(1 2 3 4)
+ (map 1+)
+ (fold + 0)) ;; =&gt; 14
+</pre></div>
+
+</dd></dl>
+
+<dl>
+<dt><a name="index-list_002d_003evlist_002a"></a>Scheme Procedure: <strong>list-&gt;vlist*</strong> <em><var>lst</var></em></dt>
+<dd><p>Convert <code>lst</code> and all sub-lists within to vlists.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-list_002d_003evlist_002a-1"></a>Scheme Procedure: <strong>list-&gt;vlist*</strong> <em><var>lst</var> <var>index</var> [&hellip;]</em></dt>
+<dd><p>Return the element at index <code>index &hellip;</code> in the nested vlist
+structure <code>vlist</code>.
+</p></dd></dl>
+
+
+
+
+</body>
+</html>