propeller/docs/propeller.utils.html
2024-01-07 12:53:34 -05:00

28 lines
26 KiB
HTML

<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>propeller.utils 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">Propeller</span> <span class="project-version">0.3.2</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="A_Guide_To_Propeller.html"><div class="inner"><span>A Guide to Propeller</span></div></a></li><li class="depth-1 "><a href="Adding_Genetic_Operators.html"><div class="inner"><span>Adding Genetic Operators</span></div></a></li><li class="depth-1 "><a href="Adding_Problem.html"><div class="inner"><span>Adding a Problem</span></div></a></li><li class="depth-1 "><a href="Adding_Selection_Method.html"><div class="inner"><span>Adding a Selection Method</span></div></a></li><li class="depth-1 "><a href="Additional_Instructions.html"><div class="inner"><span>Additional Instructions</span></div></a></li><li class="depth-1 "><a href="Downsampling_training_data.html"><div class="inner"><span># Downsample Functions</span></div></a></li><li class="depth-1 "><a href="Generating_Documentation.html"><div class="inner"><span>Generating Documentation for Propeller</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>propeller</span></div></div></li><li class="depth-2 branch"><a href="propeller.downsample.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>downsample</span></div></a></li><li class="depth-2 branch"><a href="propeller.genome.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>genome</span></div></a></li><li class="depth-2 branch"><a href="propeller.gp.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>gp</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>problems</span></div></div></li><li class="depth-3"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>PSB1</span></div></div></li><li class="depth-4 branch"><a href="propeller.problems.PSB1.count-odds.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>count-odds</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB1.grade.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>grade</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB1.scrabble-score.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>scrabble-score</span></div></a></li><li class="depth-4"><a href="propeller.problems.PSB1.small-or-large.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>small-or-large</span></div></a></li><li class="depth-3"><div class="no-link"><div class="inner"><span class="tree" style="top: -145px;"><span class="top" style="height: 154px;"></span><span class="bottom"></span></span><span>PSB2</span></div></div></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.basement.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>basement</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.bouncing-balls.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bouncing-balls</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.bowling.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bowling</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.camel-case.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>camel-case</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.dice-game.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>dice-game</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.find-pair.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>find-pair</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.fizz-buzz.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>fizz-buzz</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.fuel-cost.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>fuel-cost</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.gcd.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>gcd</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.luhn.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>luhn</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.middle-character.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>middle-character</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.paired-digits.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>paired-digits</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.shopping-list.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>shopping-list</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.snow-day.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>snow-day</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.solve-boolean.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>solve-boolean</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.spin-words.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>spin-words</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.square-digits.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>square-digits</span></div></a></li><li class="depth-4 branch"><a href="propeller.problems.PSB2.substitution-cipher.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>substitution-cipher</span></div></a></li><li class="depth-4"><a href="propeller.problems.PSB2.twitter.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>twitter</span></div></a></li><li class="depth-3 branch"><a href="propeller.problems.UBall5D.html"><div class="inner"><span class="tree" style="top: -610px;"><span class="top" style="height: 619px;"></span><span class="bottom"></span></span><span>UBall5D</span></div></a></li><li class="depth-3"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>boolean</span></div></div></li><li class="depth-4 branch"><a href="propeller.problems.boolean.mul3.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>mul3</span></div></a></li><li class="depth-4"><a href="propeller.problems.boolean.mul4.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>mul4</span></div></a></li><li class="depth-3 branch"><a href="propeller.problems.complex-regression.html"><div class="inner"><span class="tree" style="top: -83px;"><span class="top" style="height: 92px;"></span><span class="bottom"></span></span><span>complex-regression</span></div></a></li><li class="depth-3 branch"><a href="propeller.problems.data-creation.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>data-creation</span></div></a></li><li class="depth-3 branch"><a href="propeller.problems.float-regression.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>float-regression</span></div></a></li><li class="depth-3 branch"><a href="propeller.problems.integer-regression.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>integer-regression</span></div></a></li><li class="depth-3 branch"><a href="propeller.problems.simple-classification.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>simple-classification</span></div></a></li><li class="depth-3"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>software</span></div></div></li><li class="depth-4 branch"><a href="propeller.problems.software.number-io.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>number-io</span></div></a></li><li class="depth-4"><a href="propeller.problems.software.smallest.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>smallest</span></div></a></li><li class="depth-3 branch"><a href="propeller.problems.string-classification.html"><div class="inner"><span class="tree" style="top: -83px;"><span class="top" style="height: 92px;"></span><span class="bottom"></span></span><span>string-classification</span></div></a></li><li class="depth-3"><a href="propeller.problems.valiant.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>valiant</span></div></a></li><li class="depth-2"><div class="no-link"><div class="inner"><span class="tree" style="top: -1230px;"><span class="top" style="height: 1239px;"></span><span class="bottom"></span></span><span>push</span></div></div></li><li class="depth-3"><a href="propeller.push.instructions.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>instructions</span></div></a></li><li class="depth-4 branch"><a href="propeller.push.instructions.bool.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bool</span></div></a></li><li class="depth-4 branch"><a href="propeller.push.instructions.character.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>character</span></div></a></li><li class="depth-4 branch"><a href="propeller.push.instructions.code.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>code</span></div></a></li><li class="depth-4 branch"><a href="propeller.push.instructions.input-output.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>input-output</span></div></a></li><li class="depth-4 branch"><a href="propeller.push.instructions.numeric.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>numeric</span></div></a></li><li class="depth-4 branch"><a href="propeller.push.instructions.parentheses.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>parentheses</span></div></a></li><li class="depth-4 branch"><a href="propeller.push.instructions.polymorphic.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>polymorphic</span></div></a></li><li class="depth-4 branch"><a href="propeller.push.instructions.string.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>string</span></div></a></li><li class="depth-4"><a href="propeller.push.instructions.vector.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>vector</span></div></a></li><li class="depth-3 branch"><a href="propeller.push.interpreter.html"><div class="inner"><span class="tree" style="top: -300px;"><span class="top" style="height: 309px;"></span><span class="bottom"></span></span><span>interpreter</span></div></a></li><li class="depth-3 branch"><a href="propeller.push.limits.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>limits</span></div></a></li><li class="depth-3"><a href="propeller.push.state.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>state</span></div></a></li><li class="depth-2 branch"><a href="propeller.selection.html"><div class="inner"><span class="tree" style="top: -424px;"><span class="top" style="height: 433px;"></span><span class="bottom"></span></span><span>selection</span></div></a></li><li class="depth-2 branch"><a href="propeller.simplification.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>simplification</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>tools</span></div></div></li><li class="depth-3 branch"><a href="propeller.tools.calculus.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>calculus</span></div></a></li><li class="depth-3 branch"><a href="propeller.tools.character.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>character</span></div></a></li><li class="depth-3 branch"><a href="propeller.tools.distributions.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>distributions</span></div></a></li><li class="depth-3 branch"><a href="propeller.tools.math.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>math</span></div></a></li><li class="depth-3"><a href="propeller.tools.metrics.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>metrics</span></div></a></li><li class="depth-2 branch current"><a href="propeller.utils.html"><div class="inner"><span class="tree" style="top: -176px;"><span class="top" style="height: 185px;"></span><span class="bottom"></span></span><span>utils</span></div></a></li><li class="depth-2"><a href="propeller.variation.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>variation</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="propeller.utils.html#var-bmx-distance"><div class="inner"><span>bmx-distance</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-break-up"><div class="inner"><span>break-up</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-count-genes"><div class="inner"><span>count-genes</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-count-points"><div class="inner"><span>count-points</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-depth"><div class="inner"><span>depth</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-drop-nth"><div class="inner"><span>drop-nth</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-enforce-gene-length-limit"><div class="inner"><span>enforce-gene-length-limit</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-ensure-list"><div class="inner"><span>ensure-list</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-extract-genes"><div class="inner"><span>extract-genes</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-filter-by-index"><div class="inner"><span>filter-by-index</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-first-non-nil"><div class="inner"><span>first-non-nil</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-gaussian-noise-factor"><div class="inner"><span>gaussian-noise-factor</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-indexof"><div class="inner"><span>indexof</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-log"><div class="inner"><span>log</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-not-lazy"><div class="inner"><span>not-lazy</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-onenum"><div class="inner"><span>onenum</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-perturb-with-gaussian-noise"><div class="inner"><span>perturb-with-gaussian-noise</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-PI"><div class="inner"><span>PI</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-pmapallv"><div class="inner"><span>pmapallv</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-pretty-map-println"><div class="inner"><span>pretty-map-println</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-random-instruction"><div class="inner"><span>random-instruction</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-remove-empty-genes"><div class="inner"><span>remove-empty-genes</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-round"><div class="inner"><span>round</span></div></a></li><li class="depth-1"><a href="propeller.utils.html#var-seq-zip"><div class="inner"><span>seq-zip</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">propeller.utils</h1><div class="doc"><div class="markdown"><p>Useful functions.</p>
</div></div><div class="public anchor" id="var-bmx-distance"><h3>bmx-distance</h3><div class="usage"><code>(bmx-distance p1 p2)</code></div><div class="doc"><div class="markdown"><p>A utility function for bmx. Returns the distance between two plushies computed as half of their multiset-distance plus their length difference.</p>
</div></div></div><div class="public anchor" id="var-break-up"><h3>break-up</h3><div class="usage"><code>(break-up gene limit)</code></div><div class="doc"><div class="markdown"><p>A utility function for bmx-related genetic operators. Returns the provided :gap-free plushy with gaps randomly inserted to ensure that no gene is longer than the provided limit.</p>
</div></div></div><div class="public anchor" id="var-count-genes"><h3>count-genes</h3><div class="usage"><code>(count-genes plushy)</code></div><div class="doc"><div class="markdown"><p>A utility for best match crossover (bmx). Returns the number of segments between (and before and after) instances of :gap.</p>
</div></div></div><div class="public anchor" id="var-count-points"><h3>count-points</h3><div class="usage"><code>(count-points tree)</code></div><div class="doc"><div class="markdown"><p>Returns the number of points in tree, where each atom and each pair of parentheses counts as a point.</p>
</div></div></div><div class="public anchor" id="var-depth"><h3>depth</h3><div class="usage"><code>(depth tree)</code></div><div class="doc"><div class="markdown"><p>Returns the height of the nested list called tree. Borrowed idea from here: <a href="https://stackoverflow.com/a/36865180/2023312">https://stackoverflow.com/a/36865180/2023312</a> Works by looking at the path from each node in the tree to the root, and finding the longest one. Note: does not treat an empty list as having any height.</p>
</div></div></div><div class="public anchor" id="var-drop-nth"><h3>drop-nth</h3><div class="usage"><code>(drop-nth n coll)</code></div><div class="doc"><div class="markdown"><p>drops the nth element from a collection</p>
</div></div></div><div class="public anchor" id="var-enforce-gene-length-limit"><h3>enforce-gene-length-limit</h3><div class="usage"><code>(enforce-gene-length-limit plushy limit)</code></div><div class="doc"><div class="markdown"><p>A utility function for bmx-related genetic operators. Returns the provided plushy with any over-length genes broken into non-empty pieces, recursively until all genes obey the limit.</p>
</div></div></div><div class="public anchor" id="var-ensure-list"><h3>ensure-list</h3><div class="usage"><code>(ensure-list thing)</code></div><div class="doc"><div class="markdown"><p>Returns a non-lazy list if passed a seq argument. Otherwise, returns a list containing the argument.</p>
</div></div></div><div class="public anchor" id="var-extract-genes"><h3>extract-genes</h3><div class="usage"><code>(extract-genes plushy)</code></div><div class="doc"><div class="markdown"><p>A utility for best match crossover (bmx). Returns the segments of the plushy before/between/after instances of :gap.</p>
</div></div></div><div class="public anchor" id="var-filter-by-index"><h3>filter-by-index</h3><div class="usage"><code>(filter-by-index coll idxs)</code></div><div class="doc"><div class="markdown"><p>filters a collection by a list of indices</p>
</div></div></div><div class="public anchor" id="var-first-non-nil"><h3>first-non-nil</h3><div class="usage"><code>(first-non-nil coll)</code></div><div class="doc"><div class="markdown"><p>Returns the first non-nil values from the collection, or returns <code>nil</code> if the collection is empty or only contains <code>nil</code>.</p>
</div></div></div><div class="public anchor" id="var-gaussian-noise-factor"><h3>gaussian-noise-factor</h3><div class="usage"><code>(gaussian-noise-factor)</code></div><div class="doc"><div class="markdown"><p>Returns gaussian noise of mean 0, std dev 1.</p>
</div></div></div><div class="public anchor" id="var-indexof"><h3>indexof</h3><div class="usage"><code>(indexof element coll)</code></div><div class="doc"><div class="markdown"><p>Returns the first index of an element in a collection. If the element is not present in the collection, returns -1.</p>
</div></div></div><div class="public anchor" id="var-log"><h3>log</h3><div class="usage"><code>(log x)</code></div><div class="doc"><div class="markdown"><p>FIXME: write docs</p>
</div></div></div><div class="public anchor" id="var-not-lazy"><h3>not-lazy</h3><div class="usage"><code>(not-lazy lst)</code></div><div class="doc"><div class="markdown"><p>Returns lst if it is not a seq, or a non-lazy version of lst if it is.</p>
</div></div></div><div class="public anchor" id="var-onenum"><h3>onenum</h3><div class="usage"><code>(onenum thing-or-collection)</code></div><div class="doc"><div class="markdown"><p>If given a number, returns it. If given a collection, returns a member of the collection. Intended for allowing arguments to genetic operators, such as mutation rates, to take collections in addition to single values</p>
</div></div></div><div class="public anchor" id="var-perturb-with-gaussian-noise"><h3>perturb-with-gaussian-noise</h3><div class="usage"><code>(perturb-with-gaussian-noise sd n)</code></div><div class="doc"><div class="markdown"><p>Returns n perturbed with std dev sd.</p>
</div></div></div><div class="public anchor" id="var-PI"><h3>PI</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>FIXME: write docs</p>
</div></div></div><div class="public anchor" id="var-pmapallv"><h3>pmapallv</h3><div class="usage"><code>(pmapallv f &amp; colls-args)</code></div><div class="doc"><div class="markdown"><p>A utility for concurrent execution of a function. If :single-thread-mode is truthy in the final arg then this acts like mapv of f on the provided colls. Otherwise it acts like pmap but: 1) the colls should be finite, 2) the returned sequence will not be lazy, and will in fact be a vector, and 3) calls to f may occur in any order, to maximize multicore processor utilization.</p>
</div></div></div><div class="public anchor" id="var-pretty-map-println"><h3>pretty-map-println</h3><div class="usage"><code>(pretty-map-println mp)</code></div><div class="doc"><div class="markdown"><p>Takes a map and prints it, with each key/value pair on its own line.</p>
</div></div></div><div class="public anchor" id="var-random-instruction"><h3>random-instruction</h3><div class="usage"><code>(random-instruction instructions argmap)</code></div><div class="doc"><div class="markdown"><p>Returns a random instruction from a supplied pool of instructions, evaluating ERC-producing functions to a constant literal.</p>
</div></div></div><div class="public anchor" id="var-remove-empty-genes"><h3>remove-empty-genes</h3><div class="usage"><code>(remove-empty-genes plushy)</code></div><div class="doc"><div class="markdown"><p>A utility function for bmx-related genetic operators. Returns the provided plushy with any empty genes (regions before/between/after instances of :gap) removed.</p>
</div></div></div><div class="public anchor" id="var-round"><h3>round</h3><div class="usage"><code>(round x)</code></div><div class="doc"><div class="markdown"><p>FIXME: write docs</p>
</div></div></div><div class="public anchor" id="var-seq-zip"><h3>seq-zip</h3><h4 class="added">added in 1.0</h4><div class="usage"><code>(seq-zip root)</code></div><div class="doc"><div class="markdown"><p>Returns a zipper for nested sequences, given a root sequence</p>
</div></div></div></div></body></html>