emacs.d/clones/lisp/www.cliki.net/spath.html
2022-10-07 15:47:14 +02:00

52 lines
No EOL
4.3 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>CLiki: spath</title>
<link rel="alternate" type="application/atom+xml" title="ATOM feed of edits to current article"
href="https://www.cliki.net/site/feed/article.atom?title=spath">
<link rel="stylesheet" href="static/css/style.css">
<link rel="stylesheet" href="static/css/colorize.css">
</head>
<body>
<span class="hidden">CLiki - spath</span>
<div id="content"><div id="content-area"><div id="article-title">spath</div><div id="article"><a href="https://github.com/svetlyak40wt/cl-spath">SPath</a> is a library for running search queries against s-expressions, intended to match parts of them that the user needs. It is inspired by <a href="http://web.archive.org/web/20160304045626/http://www.defmacro.org/ramblings/s-query.html">s-query</a>, the syntax of LOOP, and loosely by XPath; not that it has the full expressive power of XPath, but some of the stylistic choices and ideas were taken from there. In particular, SPath finds all instances of a match in the same sort of way as <a href="XPath.html" class="internal">XPath</a>.<p>In other words, it's a DSL for pulling bits out of lists.<p>The goal of SPath, like s-query, was to provide a means to easily dig around in <a href="XML.html" class="internal">XML</a> structures when represented as s-expressions, but unlike s-query I tried to do it in a fashion agnostic to the XML generation system in question. I also consider it of general utility, because I get sick of writing nests of list operations.<p>It was created by <a href="http://web.archive.org/web/20210212085735/http://digitalkingdom.org/~rlpowell/">Robin Lee Powell</a>, and is in the <a href="public&#32;domain.html" class="category">public domain</a>.<p>SPath requires <a href="Heresy.html" class="internal">Heresy</a>.<p>Documentation, such as it is, can be found at <a href="https://github.com/svetlyak40wt/cl-spath/blob/master/README">the SPath readme</a>. The <a href="https://github.com/svetlyak40wt/cl-spath/blob/master/tests.lisp">SPath test suite</a> should also effectively document everything SPath can do, albeit not in a very readable fashion.<p><hr>
Topics: <a href="pattern&#32;matching.html" class="category">pattern matching</a></div></div>
<div id="footer" class="buttonbar"><ul><li><a href="spath.html">Current version</a></li>
<li><a href="https://www.cliki.net/site/history?article=spath">History</a></li>
<li><a href="https://www.cliki.net/site/backlinks?article=spath">Backlinks</a></li><li><a href="https://www.cliki.net/site/edit-article?title=spath&amp;from-revision=3823531418">Edit</a></li><li><a href="https://www.cliki.net/site/edit-article?create=t">Create</a></li></ul></div>
</div>
<div id="header-buttons" class="buttonbar">
<ul>
<li><a href="https://www.cliki.net/">Home</a></li>
<li><a href="https://www.cliki.net/site/recent-changes">Recent Changes</a></li>
<li><a href="CLiki.html">About</a></li>
<li><a href="Text&#32;Formatting.html">Text Formatting</a></li>
<li><a href="https://www.cliki.net/site/tools">Tools</a></li>
</ul>
<div id="search">
<form action="https://www.cliki.net/site/search">
<label for="search_query" class="hidden">Search CLiki</label>
<input type="text" name="query" id="search_query" value="" />
<input type="submit" value="search" />
</form>
</div>
</div>
<div id="pageheader">
<div id="header">
<span id="logo">CLiki</span>
<span id="slogan">the common lisp wiki</span>
<div id="login"><form method="post" action="https://www.cliki.net/site/login">
<label for="login_name" class="hidden">Account name</label>
<input type="text" name="name" id="login_name" class="login_input" />
<label for= "login_password" class="hidden">Password</label>
<input type="password" name="password" id="login_password" class="login_input" />
<input type="submit" name="login" value="login" id="login_submit" /><br />
<div id="register"><a href="https://www.cliki.net/site/register">register</a></div>
<input type="submit" name="reset-pw" value="reset password" id="reset_pw" />
</form>
</div>
</div>
</div>
</body></html>