124 lines
No EOL
6.4 KiB
HTML
124 lines
No EOL
6.4 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>CLiki: metaprogramming</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=metaprogramming">
|
|
<link rel="stylesheet" href="static/css/style.css">
|
|
<link rel="stylesheet" href="static/css/colorize.css">
|
|
</head>
|
|
|
|
<body>
|
|
<span class="hidden">CLiki - metaprogramming</span>
|
|
<div id="content"><div id="content-area"><div id="article-title">metaprogramming</div><div id="article">Things that help you analyze and write code (code walkers, code transformers, introspection libraries, etc.)<p><ul>
|
|
<li>
|
|
<a href="agnostic-lizard.html" class="internal">agnostic-lizard</a> -
|
|
An almost correct portable code walker for Common Lisp
|
|
</li>
|
|
<li>
|
|
<a href="arrow-macros.html" class="internal">arrow-macros</a> -
|
|
Clojure-like arrow macros in Common Lisp
|
|
</li>
|
|
<li>
|
|
<a href="bubble-operator-upwards.html" class="internal">bubble-operator-upwards</a> -
|
|
bubble-operator-upwards is a function that "bubbles an operator upwards" in a form, demultiplexing all alternative branches by way of cartesian product
|
|
</li>
|
|
<li>
|
|
<a href="cl-cont.html" class="internal">cl-cont</a> -
|
|
cl-cont is a delimited continuations library for Common Lisp
|
|
</li>
|
|
<li>
|
|
<a href="cl-curlex.html" class="internal">cl-curlex</a> -
|
|
Leak *LEXENV*, which describes lexical environment, into the runtime
|
|
</li>
|
|
<li>
|
|
<a href="cl-indeterminism.html" class="internal">cl-indeterminism</a> -
|
|
Find and manipulate undefined variables and functions in forms
|
|
</li>
|
|
<li>
|
|
<a href="cl-walker.html" class="internal">cl-walker</a> -
|
|
<a href="http://dwim.hu/darcsweb/darcsweb.cgi?r=HEAD%20hu.dwim.walker;a=summary">cl-walker</a> implements an sexp → <a href="CLOS.html" class="internal">CLOS</a> AST tree transformation (and vice versa)
|
|
</li>
|
|
<li>
|
|
<a href="Concrete-Syntax-Tree.html" class="internal">Concrete-Syntax-Tree</a> -
|
|
<a href="https://github.com/s-expressionists/Concrete-Syntax-Tree">Concrete Syntax Trees</a> represent s-expressions with source information
|
|
</li>
|
|
<li>
|
|
<a href="de.setf.utility.html" class="internal">de.setf.utility</a> -
|
|
de setf utility is a collection of Common Lisp <a href="utilities.html" class="category">utilities</a> functions and several purpose-specific libraries
|
|
</li>
|
|
<li>
|
|
<a href="deprecations.html" class="internal">deprecations</a> -
|
|
<a href="https://github.com/tfeb/tfeb-lisp-tools/blob/main/deprecations.lisp">deprecations</a> allows you to define functions, generic functions, macros and symbol macros as deprecated
|
|
</li>
|
|
<li>
|
|
<a href="linewise-template.html" class="internal">linewise-template</a> -
|
|
A Common Lisp library for processing <a href="text.html" class="category">text</a> files and streams as templates conforming to simple line-based hierarchical formats
|
|
</li>
|
|
<li>
|
|
<a href="macro-eval.html" class="internal">macro-eval</a> -
|
|
A kind of <a href="https://www.cliki.net/site/HyperSpec/Body/fun_eval.html" class="hyperspec">eval</a> for use at macro-expansion time (such as for constant-folding purposes)
|
|
</li>
|
|
<li>
|
|
<a href="macroexpand-dammit.html" class="internal">macroexpand-dammit</a> -
|
|
macroexpand-dammit is a code walker by John Fremlin
|
|
</li>
|
|
<li>
|
|
<a href="parse-declarations.html" class="internal">parse-declarations</a> -
|
|
Parse-Declarations is a <a href="metaprogramming.html" class="category">metaprogramming</a> library to parse, filter, and build Common Lisp declarations (things like (inline foo))
|
|
</li>
|
|
<li>
|
|
<a href="parse-number-range.html" class="internal">parse-number-range</a> -
|
|
parse-number-range parses loop's convenient "for-as-arithmetic" syntax into 5 simple values
|
|
</li>
|
|
<li>
|
|
<a href="quasiquote-2.0.html" class="internal">quasiquote-2.0</a> -
|
|
An alternative quasiquote syntax aimed at being more suitable for macros that define other macros
|
|
</li>
|
|
<li>
|
|
<a href="reader-interception.html" class="internal">reader-interception</a> -
|
|
reader-interception is a library for replacing the lisp reader with your own, so you can define your own syntax or compile other language through Lisp
|
|
</li>
|
|
<li>
|
|
<a href="symbol-namespaces.html" class="internal">symbol-namespaces</a> -
|
|
symbol-namespaces defines a new kind of package that's named by a symbol rather than a string
|
|
</li>
|
|
</ul></div></div>
|
|
<div id="footer" class="buttonbar"><ul><li><a href="metaprogramming.html">Current version</a></li>
|
|
<li><a href="https://www.cliki.net/site/history?article=metaprogramming">History</a></li>
|
|
<li><a href="https://www.cliki.net/site/backlinks?article=metaprogramming">Backlinks</a></li><li><a href="https://www.cliki.net/site/edit-article?title=metaprogramming&from-revision=3504969562">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 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> |