1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>S-UTILS</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content="S-UTILS is a collection of Common Lisp utilities" />
<meta name="keywords" content="utilities, common lisp, lisp" />
<meta name="author" content="Sven Van Caekenberghe" />
<meta name="Copyright" content="Copyright (c) 2004-2005 Sven Van Caekenberghe, Beta Nine BVBA" />
<style type="text/css">
body {
background: white;
width: 900px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 13px;
}
p {
width: 600px;
padding: 0 20px 10px 50px;
}
ul {
width: 600px;
padding: 0 5px 5px 70px;
}
.author {
padding: 0 20px 5px 50px;
font-style: italic;
}
.figure {
margin-top: 0;
margin-bottom: 0;
background: black;
color: white;
text-align: center;
padding: 20px 0 10px 0;
}
.listing {
background: #eee;
font-size: 12px;
padding-left: 10px;
}
.caption {
margin-top: 5px;
text-align: center;
font-size: 10px;
font-style: bold;
}
.footer {
font-size: 10px;
font-style: italic;
}
</style>
</head>
<body>
<h3>Open Source Common Lisp Software</h3>
<h1>S-UTILS</h1>
<h2>A collection of Common Lisp utilities</h2>
<p>
<a href="http://homepage.mac.com/svc/temaplte/index.html">S-UTILS</a>
is collection of Common Lisp utilities.
This simple package is used as a building block in a number of other open source projects,
as can be seen from this description of some
<a href="http://homepage.mac.com/svc/oscl.html">other Open Source Common Lisp packages</a>.
</p>
<h3>Contents</h3>
<ul>
<li><a href="#features">Features</a></li>
<li><a href="#status">Status</a></li>
<li><a href="#news">News</a></li>
<li><a href="#platforms">Platforms</a></li>
<li><a href="#downloading">Downloading</a></li>
<li><a href="#installation">Installation</a></li>
<li><a href="#usage">Usage</a></li>
<li><a href="#api">API Reference</a></li>
<li><a href="#mailinglist">Mailinglist</a></li>
<li><a href="#changelog">Changelog</a></li>
<li><a href="#tod">TODO</a></li>
<li><a href="#faq">FAQ</a></li>
<li><a href="#bugs">Bugs</a></li>
<li><a href="#authors">Authors</a></li>
<li><a href="#maintainers">Maintainers</a></li>
<li><a href="#license">License</a></li>
<li><a href="#history">History</a></li>
<li><a href="#references">References</a></li>
</ul>
<h3 id="features">Features</h3>
<p>
S-UTILS helps in:
</p>
<ul>
<li>manipulating directory pathnames</li>
<li>copying streams</li>
<li>doing some elementary parsing (tokenizing)</li>
<li>flexibly formatting dates, times and durations</li>
<li>parsing integers more safely</li>
</ul>
<h3 id="status">Status</h3>
<p>
S-UTILS is considered stable code.
</p>
<h3 id="news">News</h3>
<p>
<em>November 2005</em> - Created as a seperate project.
</p>
<h3 id="platforms">Platforms</h3>
<p>
S-UTILS is written in ANSI standard Common Lisp and should be portable across any CL implementation.
</p>
<h3 id="downloading">Downloading</h3>
<p>
You can download the latested released tarball of the S-UTILS package from
<a href="http://homepage.mac.com/svc/s-utils/s-utils.tar.gz">http://homepage.mac.com/svc/s-utils/s-utils.tar.gz</a>.
This archive is signed on release by <a href="http://homepage.mac.com/svc">Sven Van Caekenberghe</a>,
whose public key is published at
<a href="http://homepage.mac.com/svc/sven-public-ascii.gpg">http://homepage.mac.com/svc/sven-public-ascii.gpg</a>,
the signature is in
<a href="http://homepage.mac.com/svc/s-utils/s-utils.tar.gz.asc">http://homepage.mac.com/svc/s-utils/s-utils.tar.gz.asc</a>.
</p>
<p>
Alternatively you can access the <a href="http://abridgegame.org/darcs/">DARCS</a> repository at
<a href="http://www.beta9.be/darcs/s-base64">http://www.beta9.be/darcs/s-base64</a>.
For a good description on how to use DARCS see
<a href="http://dirkgerrits.com/programming/erlisp/download/">http://dirkgerrits.com/programming/erlisp/download/</a>.
</p>
<div class="listing">
<pre>$ darcs get http://www.beta9.be/darcs/s-utils</pre>
</div>
<div class="caption">Example of basic darcs usage, get everything once and keep up to date by pulling in changes</div>
<h3 id="installation">Installation</h3>
<p>
The S-UTILS package is loaded using <a href="http://www.cliki.net/asdf">ASDF</a>.
There is an excellent <a href="http://constantly.at/lisp/asdf/">tutorial on ASDF</a> to get you started.
Alternatively you can use <a href="http://www.cliki.net/asdf-install">ASDF-INSTALL</a>.
There is an great <a href="http://weitz.de/asdf-install/">tutorial on ASDF-INSTALL</a> to get you on the way.
</p>
<div class="listing">
<pre>CL-USER 1 > (asdf:oos 'asdf:load-op :s-utils)</pre>
</div>
<div class="caption">Example of setting up and using ASDF to compile and load the package</div>
<h3 id="usage">Usage</h3>
<p>
Usage of the functionality in S-UTILS is straightforward, as the following examples demonstrate:
</p>
<div class="listing">
<pre>CL-USER 1 > (in-package :s-utils)
#<The S-UTILS package, 41/128 internal, 13/16 external>
S-UTILS 2 > (defvar *timestamp* (get-universal-time))
*TIMESTAMP*
S-UTILS 3 > (format-universal-time *timestamp*)
"Sat Nov 19 2005 18:08:51"
S-UTILS 4 > (format-iso-gmt-time *timestamp*)
"20051119T170851"
S-UTILS 5 > (format-universal-time *timestamp* :format +us-date-format+ :stream t)
Sat Nov 19 2005
NIL
S-UTILS 6 > (format-universal-time *timestamp* :format +us-time-format+ :timezone 0)
"Sat Nov 19 2005 17:08:51"
S-UTILS 7 > (format-duration (- (get-universal-time) *timestamp*))
"5 minutes 18 seconds"
S-UTILS 8 > (tokens *)
("5" "minutes" "18" "seconds")
S-UTILS 9 > (tokens "1-2-3-4-5" :separators '(#\-))
("1" "2" "3" "4" "5")
S-UTILS 10 > (parse-integer-safely "")
NIL
S-UTILS 11 > (parse-integer-safely "x" :default -1)
-1
S-UTILS 12 > (parse-integer-safely "111" :default 123 :start 2)
1
S-UTILS 13 > (parse-integer-safely "111" :default 123 :start 3)
123
S-UTILS 14 > (parse-integer-safely "" :default -1)
-1
S-UTILS 15 > (parse-integer-safely nil :default -1)
-1
S-UTILS 16 > (parse-integer-safely "FF" :radix 16)
255
S-UTILS 17 > (with-input-from-string (in "abcdefghi")
(copy-stream in *standard-output*)
(terpri))
abcdefghi
NIL
S-UTILS 18 > (make-subdirectory #p"/tmp/" '("foo" "bar"))
#P"/tmp/foo/bar/"
S-UTILS 19 > (pathname-parent #p"/tmp/")
#P"/"
S-UTILS 20 > (pathname-parent (make-subdirectory #p"/tmp/" "foo"))
#P"/tmp/"</pre>
</div>
<div class="caption">Example Usage of S-UTILS Functions</div>
<h3 id="api">API Reference</h3>
<p>
There is automatically generated <a href="API.html">API Reference</a> documentation available for the S-UTILS package.
</p>
<h3 id="mailinglist">Mailinglist</h3>
<p>
There is no mailing list for this project.
</p>
<h3 id="changelog">Changelog</h3>
<p>
Release Notes:
</p>
<ul>
<li>release 1: moved S-UTILS into a seperate project under a new structure</li>
</ul>
<h3 id="todo">TODO</h3>
<p>
There is currently no TODO list.
</p>
<h3 id="faq">FAQ</h3>
<p>
Nothing appropriate.
</p>
<h3 id="bugs">Bugs</h3>
<p>
There are no known bugs.
</p>
<h3 id="authors">Authors</h3>
<p>
S-UTILS was written by <a href="http://homepage.mac.com/svc">Sven Van Caekenberghe</a>.
</p>
<h3 id="maintainers">Maintainers</h3>
<p>
S-UTILS is being maintained by <a href="http://homepage.mac.com/svc">Sven Van Caekenberghe</a>.
</p>
<h3 id="license">License</h3>
<p>
You are granted the rights to distribute and use this software
as governed by the terms of the Lisp Lesser General Public License
(<a href="http://opensource.franz.com/preamble.html">http://opensource.franz.com/preamble.html</a>),
also known as the LLGPL.
</p>
<h3 id="history">History</h3>
<p>
This is a new project.
</p>
<h3 id="references">References</h3>
<p>
Thera are no references.
</p>
<div class="footer">
Copyright © 2004-2005 Sven Van Caekenberghe, Beta Nine BVBA. All Right Reserved. -
<a href="http://validator.w3.org/check/referer">This page is W3C Valid XHTML 1.0 Strict</a> -
<a href="http://www.anybrowser.org/campaign/">Viewable With Any Browser</a>
</div>
</body>
</html>
|