adopt/usage/index.html @ 15305ac3db17
adopt: Update site.
author |
Steve Losh <steve@stevelosh.com> |
date |
Thu, 22 Nov 2018 00:39:35 -0500 |
parents |
(none) |
children |
bcc463ff154f |
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Usage / Adopt</title>
<link rel="stylesheet" href="../_dmedia/tango.css"/>
<link rel="stylesheet/less" type="text/css" href="../_dmedia/style.less"/>
<script src="../_dmedia/less.js" type="text/javascript">
</script>
</head>
<body class="content">
<div class="wrap">
<header><h1><a href="..">Adopt</a></h1></header>
<div class="markdown">
<h1 id="usage"><a href="">Usage</a></h1><p>Adopt is a simple library for parsing UNIX-style command line arguments in
Common Lisp. It was made because none of the other libraries did what I needed.</p>
<div class="toc">
<ul>
<li><a href="#package">Package</a></li>
<li><a href="#interfaces">Interfaces</a></li>
<li><a href="#parsing">Parsing</a></li>
<li><a href="#options">Options</a></li>
<li><a href="#short-and-long-options">Short and Long Options</a></li>
<li><a href="#initial-value">Initial Value</a></li>
<li><a href="#reduce">Reduce</a></li>
<li><a href="#usage-printing">Usage Printing</a></li>
</ul></div>
<h2 id="package">Package</h2>
<p>All core Adopt functions and macros are in the <code>adopt</code> package. You can <code>:use</code>
that if you really want to, but it's probably clearer to use namespaced
<code>adopt:…</code> symbols.</p>
<h2 id="interfaces">Interfaces</h2>
<p>define-interface and usage. nothing else.</p>
<h2 id="parsing">Parsing</h2>
<p><code>parse-options</code> with a bare-bones interface.</p>
<h2 id="options">Options</h2>
<p>talk about the option arguments.</p>
<h2 id="short-and-long-options">Short and Long Options</h2>
<p>short versus long arguments. 1+ is required.</p>
<h2 id="initial-value">Initial Value</h2>
<p>at this point it's just a default</p>
<h2 id="reduce">Reduce</h2>
<p>talk about reducers. mention argparse's:</p>
<p><code>store_const</code> is <code>(constantly x)</code></p>
<p><code>store</code> is <code>#'latest</code></p>
<p><code>store_true</code> is <code>(constantly t)</code></p>
<p><code>store_false</code> is <code>(constantly nil)</code></p>
<p><code>append</code> is <code>append1</code></p>
<p><code>append_const</code> is <code>(rcurry #'append1 x)</code></p>
<p><code>count</code> is <code>1+</code> with an <code>initial-value</code> of <code>0</code>.</p>
<p>need to figure out <code>help</code> and <code>version</code>.</p>
<h2 id="usage-printing">Usage Printing</h2>
<p>It's <code>(print-usage interface)</code>.</p>
</div>
<footer><p><i>Made with Lisp and love by <a href="http://stevelosh.com/">Steve Losh</a> in Rochester, New York.</i></p>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-15328874-3', 'auto');
ga('send', 'pageview');
</script></footer>
</div>
</body>
</html>