460 lines
No EOL
24 KiB
HTML
460 lines
No EOL
24 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
<title>CLiki: language extension</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=language%20extension">
|
||
<link rel="stylesheet" href="static/css/style.css">
|
||
<link rel="stylesheet" href="static/css/colorize.css">
|
||
</head>
|
||
|
||
<body>
|
||
<span class="hidden">CLiki - language extension</span>
|
||
<div id="content"><div id="content-area"><div id="article-title">language extension</div><div id="article">Language extensions are libraries that are not domain-specific (that is, just concern themselves with "programming" as opposed to "implementing algorithm/datastructure/service x"), widely usable, and could potentially be candidates for <a href="Proposed Extensions To ANSI.html" class="internal">Proposed Extensions To ANSI</a>, but are wider in scope than <a href="utilities.html" class="internal">utilities</a>. Examples would be new object systems, CPS-transformers, etc.<p>Since Common Lisp is the "programmable programming language," many of these extensions are quite far-reaching.<p><ul>
|
||
<li>
|
||
<a href="ap5.html" class="internal">ap5</a> -
|
||
A mature, embedded, in-memory <a href="Relational.html" class="category">Relational</a> <a href="ObjectStore.html" class="category">ObjectStore</a> and a high-level/declarative/specification language
|
||
</li>
|
||
<li>
|
||
<a href="CAPTURED-STREAM.html" class="internal">CAPTURED-STREAM</a> -
|
||
captured-stream is a small Common Lisp library for viewing <a href="stream.html" class="category">stream</a>s as sequences
|
||
</li>
|
||
<li>
|
||
<a href="CL Enumerations.html" class="internal">CL Enumerations</a> -
|
||
A package; an implementation of java.util.Enumeration and java.util.Iterator for Common Lisp
|
||
</li>
|
||
<li>
|
||
<a href="cl-2dsyntax.html" class="internal">cl-2dsyntax</a> -
|
||
cl-2dsyntax is an indentation-sensitive syntax system like <a href="http://www.python.org">Python</a> (the programming language, not the <a href="CMUCL.html" class="internal">CMUCL</a>/<a href="SBCL.html" class="internal">SBCL</a> compiler) does
|
||
</li>
|
||
<li>
|
||
<a href="cl-ana.html" class="internal">cl-ana</a> -
|
||
<a href="https://github.com/ghollisjr/cl-ana">cl-ana</a> aims to provide the basic tools necessary to analyze large/medium-large datasets
|
||
</li>
|
||
<li>
|
||
<a href="cl-annot.html" class="internal">cl-annot</a> -
|
||
cl-annot adds Python-like decorators (or Java-like annotations) to Common Lisp
|
||
</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-dsl.html" class="internal">cl-dsl</a> -
|
||
Define your Domain Specific Languages in a user-friendly way
|
||
</li>
|
||
<li>
|
||
<a href="cl-events.html" class="internal">cl-events</a> -
|
||
Composable events system for Common Lisp
|
||
</li>
|
||
<li>
|
||
<a href="cl-groupby.html" class="internal">cl-groupby</a> -
|
||
Short implementation of Scalas groupBy functionality for Common Lisp
|
||
</li>
|
||
<li>
|
||
<a href="cl-hooks.html" class="internal">cl-hooks</a> -
|
||
cl-hooks allows the description of extension points in software using a concept of hooks (borrowed from Emacs)
|
||
</li>
|
||
<li>
|
||
<a href="cl-itertools.html" class="internal">cl-itertools</a> -
|
||
Write iterators in CL in a way close to Python ones
|
||
</li>
|
||
<li>
|
||
<a href="cl-op.html" class="internal">cl-op</a> -
|
||
A partial application library inspired by <a href="http://people.csail.mit.edu/jrb/goo/manual.46/goomanual_15.html#17">Goo's op function</a> and <a href="https://srfi.schemers.org/srfi-26/srfi-26.html">SRFI 26</a>
|
||
</li>
|
||
<li>
|
||
<a href="cl-package-aliases.html" class="internal">cl-package-aliases</a> -
|
||
Extends the standard CL package system with the ability to define package-local aliases (nicknames) to other packages in a transparent way
|
||
</li>
|
||
<li>
|
||
<a href="cl-parametric-types.html" class="internal">cl-parametric-types</a> -
|
||
[BETA] A tool to repeatedly compile the same source code with different types
|
||
</li>
|
||
<li>
|
||
<a href="cl-read-macro-tokens.html" class="internal">cl-read-macro-tokens</a> -
|
||
Modify lisp reader, so that it could dispatch not only on characters, but also on arbitrary symbols in <a href="https://www.cliki.net/site/HyperSpec/Body/acc_carcm_cdr_darcm_cddddr.html" class="hyperspec">CAR</a>
|
||
</li>
|
||
<li>
|
||
<a href="cl-rttemplate.html" class="internal">cl-rttemplate</a> -
|
||
cl-rttemplate is a quotation system which works in a similar way like the quasiquotation, but during the read-time
|
||
</li>
|
||
<li>
|
||
<a href="cl-secure-read.html" class="internal">cl-secure-read</a> -
|
||
Define constrained versions of READ, READ-PRESERVING-WHITESPACE and READ-FROM-STRING
|
||
</li>
|
||
<li>
|
||
<a href="cl-slice.html" class="internal">cl-slice</a> -
|
||
This library was unmaintained for several years
|
||
</li>
|
||
<li>
|
||
<a href="cl-splicing-macro.html" class="internal">cl-splicing-macro</a> -
|
||
Define macros, that splice multiple forms directly into body of enclosing macro, without any PROGN's left
|
||
</li>
|
||
<li>
|
||
<a href="cl-typed.html" class="internal">cl-typed</a> -
|
||
ML-like syntax for ftypes with library-side type-checking
|
||
</li>
|
||
<li>
|
||
<a href="CLLIB.html" class="internal">CLLIB</a> -
|
||
CLLIB is a varied collection of Common lisp tools and routines in <a href="CLOCC.html" class="internal">CLOCC</a>
|
||
</li>
|
||
<li>
|
||
<a href="COLLECTING.html" class="internal">COLLECTING</a> -
|
||
Common Lispy ways of collecting values during evaluation are diverse; here we discuss some well established and some proposed
|
||
</li>
|
||
<li>
|
||
<a href="collectors.html" class="internal">collectors</a> -
|
||
collectors is a common lisp library that aims to ease accumulating values (similar to loop/iter's collecting / appending clauses)
|
||
</li>
|
||
<li>
|
||
<a href="Common Lisp Reasoner.html" class="internal">Common Lisp Reasoner</a> -
|
||
<a href="Common Lisp.html" class="internal">Common Lisp</a> meets <a href="AI.html" class="internal">AI</a> problem-solving meets the <a href="semantic web.html" class="category">semantic web</a>
|
||
</li>
|
||
<li>
|
||
<a href="comparisons.html" class="internal">comparisons</a> -
|
||
Comparison is a simple library adding comparison functions similar to <a href="https://www.cliki.net/site/HyperSpec/Body/fun_equal.html" class="hyperspec">EQUAL</a> and <a href="https://www.cliki.net/site/HyperSpec/Body/fun_equalp.html" class="hyperspec">EQUALP</a>, which handle multiple types gracefully
|
||
</li>
|
||
<li>
|
||
<a href="computed-class.html" class="internal">computed-class</a> -
|
||
A class metaobject for computed slot values and more
|
||
</li>
|
||
<li>
|
||
<a href="conduit-packages.html" class="internal">conduit-packages</a> -
|
||
<a href="https://github.com/tfeb/conduit-packages">conduit-packages</a> provides some enhancements to <a href="Common Lisp.html" class="internal">Common Lisp</a>'s package system
|
||
</li>
|
||
<li>
|
||
<a href="Context Lite.html" class="internal">Context Lite</a> -
|
||
Context Lite is a <a href="language extension.html" class="category">language extension</a> for writing methods that specialize on the values of dynamic/special variables at runtime
|
||
</li>
|
||
<li>
|
||
<a href="ContextL.html" class="internal">ContextL</a> -
|
||
<a href="http://common-lisp.net/project/closer/contextl.html">ContextL</a> is a <a href="language extension.html" class="category">language extension</a> for Context-oriented Programming
|
||
</li>
|
||
<li>
|
||
<a href="data-lens.html" class="internal">data-lens</a> -
|
||
This library provides a language for expressing data manipulations as the composition of more primitive operations
|
||
</li>
|
||
<li>
|
||
<a href="DBC.html" class="internal">DBC</a> -
|
||
DBC is a library for doing <a href="Design by contract.html" class="category">Design by contract</a> ala the Eiffel programming language in Common Lisp
|
||
</li>
|
||
<li>
|
||
<a href="defmacro-enhance.html" class="internal">defmacro-enhance</a> -
|
||
Extend <a href="https://www.cliki.net/site/HyperSpec/Body/mac_defmacro.html" class="hyperspec">DEFMACRO</a> facility in spirit of <a href="Let Over Lambda.html" class="internal">Let Over Lambda</a>
|
||
</li>
|
||
<li>
|
||
<a href="doplus.html" class="internal">doplus</a> -
|
||
<a href="doplus.html" class="internal">doplus</a> is a high-level, lispy, extensible iteration construct for Common Lisp
|
||
</li>
|
||
<li>
|
||
<a href="dynamic-classes.html" class="internal">dynamic-classes</a> -
|
||
Lets you specify CLOS classes (e.g., as arguments to make-instance) using parameters at run-time, letting you use mixins more conveniently
|
||
</li>
|
||
<li>
|
||
<a href="fare-quasiquote.html" class="internal">fare-quasiquote</a> -
|
||
fare-quasiquote is a portable quasiquote implementation that plays well with pattern-matching
|
||
</li>
|
||
<li>
|
||
<a href="fast-generic-functions.html" class="internal">fast-generic-functions</a> -
|
||
Generic functions that can be sealed on certain domains for performance
|
||
</li>
|
||
<li>
|
||
<a href="Filtered Functions.html" class="internal">Filtered Functions</a> -
|
||
filtered-functions implements arbitrary predicate dispatch for <a href="CLOS.html" class="category">CLOS</a>
|
||
</li>
|
||
<li>
|
||
<a href="function-cache.html" class="internal">function-cache</a> -
|
||
Function-cache is a Common Lisp function caching / memoization library
|
||
</li>
|
||
<li>
|
||
<a href="gecol.html" class="internal">gecol</a> -
|
||
gecol provides bindings to <a href="http://www.gecode.org">GECODE</a> in order to enjoy constraint programming in Lisp
|
||
</li>
|
||
<li>
|
||
<a href="General accumulator.html" class="internal">General accumulator</a> -
|
||
<a href="https://github.com/tlikonen/cl-general-accumulator">General accumulator</a> is a general-purpose, extensible value accumulator library
|
||
</li>
|
||
<li>
|
||
<a href="generators.html" class="internal">generators</a> -
|
||
Generators is a library that provides python style generators in common lisp, by using cl-cont delimited continuations
|
||
</li>
|
||
<li>
|
||
<a href="ia-hash-table.html" class="internal">ia-hash-table</a> -
|
||
Indifferent access hash-tables for Common Lisp
|
||
</li>
|
||
<li>
|
||
<a href="incognito-keywords.html" class="internal">incognito-keywords</a> -
|
||
incognito-keywords introduces a new kind of keyword that looks just like any non-keyword symbol and allows safe usage of convenient but clashy symbol names by multiple libraries without conflicts through sharing
|
||
</li>
|
||
<li>
|
||
<a href="Incongruent Methods.html" class="internal">Incongruent Methods</a> -
|
||
A library that provides methods with incongruent lambda lists
|
||
</li>
|
||
<li>
|
||
<a href="inlined-generic-function.html" class="internal">inlined-generic-function</a> -
|
||
A MOP-based implementation of fast inlined generic functions dispatched in compile-time
|
||
</li>
|
||
<li>
|
||
<a href="iterate.html" class="internal">iterate</a> -
|
||
<a href="https://gitlab.common-lisp.net/iterate/iterate">iterate</a> is a lispy and extensible replacement for the <a href="https://www.cliki.net/site/HyperSpec/Body/mac_loop.html" class="hyperspec">LOOP</a> macro
|
||
</li>
|
||
<li>
|
||
<a href="iterate-keywords.html" class="internal">iterate-keywords</a> -
|
||
Lispy and extensible replacement for the <a href="https://www.cliki.net/site/HyperSpec/Body/mac_loop.html" class="hyperspec">LOOP</a> macro, fork of <a href="iterate.html" class="internal">iterate</a>
|
||
</li>
|
||
<li>
|
||
<a href="lambda-reader.html" class="internal">lambda-reader</a> -
|
||
lambda-reader is a <a href="language extension.html" class="category">language extension</a> that lets you use the Unicode character λ for <a href="https://www.cliki.net/site/HyperSpec/Body/any_lambda.html" class="hyperspec">LAMBDA</a> in the <a href="Lisp.html" class="category">Lisp</a> reader and printer
|
||
</li>
|
||
<li>
|
||
<a href="macrodynamics.html" class="internal">macrodynamics</a> -
|
||
Macrodynamics is a <a href="language extension.html" class="category">language extension</a> that broadens the notion of dynamic scope inside macroexpansion code
|
||
</li>
|
||
<li>
|
||
<a href="memoize.html" class="internal">memoize</a> -
|
||
<a href="https://github.com/tfeb/interim-lisp/blob/master/memoize.lisp">Memoize</a> is a small library for performing <a href="memoization.html" class="category">memoization</a>
|
||
</li>
|
||
<li>
|
||
<a href="metacopy.html" class="internal">metacopy</a> -
|
||
Metacopy is a library that makes it easy to specify how to make copies of an object
|
||
</li>
|
||
<li>
|
||
<a href="method-versions.html" class="internal">method-versions</a> -
|
||
A Common Lisp library for dispatching generic methods based on the value of a global parameter rather than on one of the required parameters
|
||
</li>
|
||
<li>
|
||
<a href="mexpr.html" class="internal">mexpr</a> -
|
||
<a href="https://github.com/tmccombs/mexpr">mexpr</a> is an Infix syntax library
|
||
</li>
|
||
<li>
|
||
<a href="modf.html" class="internal">modf</a> -
|
||
An immutable setf
|
||
</li>
|
||
<li>
|
||
<a href="Modularize.html" class="internal">Modularize</a> -
|
||
Modularize is an attempt at providing a common interface to segregate major application components
|
||
</li>
|
||
<li>
|
||
<a href="MW-EQUIV.html" class="internal">MW-EQUIV</a> -
|
||
<a href="http://www.foldr.org/~michaelw/log/programming/lisp/mw-equiv">mw-equiv</a> provides one of many possible equivalence relations between Common Lisp objects, similar to the standard <a href="https://www.cliki.net/site/HyperSpec/Body/fun_equal.html" class="hyperspec">EQUAL</a> function family, but extensible
|
||
</li>
|
||
<li>
|
||
<a href="named-readtables.html" class="internal">named-readtables</a> -
|
||
Named-Readtables is a <a href="language extension.html" class="category">language extension</a> library that provides a namespace for readtables akin to the
|
||
</li>
|
||
<li>
|
||
<a href="package-renaming.html" class="internal">package-renaming</a> -
|
||
package-renaming is a library for locally renaming CL packages
|
||
</li>
|
||
<li>
|
||
<a href="place-modifiers.html" class="internal">place-modifiers</a> -
|
||
place-modifiers essentially gives access to hundreds of modify-macros through one single macro: modify
|
||
</li>
|
||
<li>
|
||
<a href="prompt-for.html" class="internal">prompt-for</a> -
|
||
Prompt the user for input of a particular type, or satisfying some predicate
|
||
</li>
|
||
<li>
|
||
<a href="quid-pro-quo.html" class="internal">quid-pro-quo</a> -
|
||
A contract programming library for Common Lisp in the style of Eiffel’s <a href="Design by contract.html" class="category">Design by contract</a>
|
||
</li>
|
||
<li>
|
||
<a href="readable.html" class="internal">readable</a> -
|
||
readable adds additional abbreviations in the sexp reader; supports infix, optional standard function call notation, optional indentation
|
||
</li>
|
||
<li>
|
||
<a href="sb-sequence.html" class="internal">sb-sequence</a> -
|
||
An <a href="SBCL.html" class="category">SBCL</a> implementation of the protocol for user defined sequences
|
||
</li>
|
||
<li>
|
||
<a href="screamer.html" class="internal">screamer</a> -
|
||
Screamer adds support for nondeterministic and constraint programming, including backtracking and undoable side-effects
|
||
</li>
|
||
<li>
|
||
<a href="Series.html" class="internal">Series</a> -
|
||
A library providing data structure that combines aspects of sequences, (lazy) streams and loops, using a technique known as “fusion” or “deforestation”
|
||
</li>
|
||
<li>
|
||
<a href="Sheeple.html" class="internal">Sheeple</a> -
|
||
Sheeple is a delegative prototype-based object system inspired by <a href="CLOS.html" class="internal">CLOS</a>
|
||
</li>
|
||
<li>
|
||
<a href="snakes.html" class="internal">snakes</a> -
|
||
Python style generators for Common Lisp
|
||
</li>
|
||
<li>
|
||
<a href="SRFI.html" class="internal">SRFI</a> -
|
||
Scheme Requests for Implementation (<a href="http://srfi.schemers.org/">SRFI</a>) are proposed <a href="language extension.html" class="category">language extension</a>s to Scheme, but that doesn't stop people from implementing them for Common Lisp
|
||
</li>
|
||
<li>
|
||
<a href="syntax-case.html" class="internal">syntax-case</a> -
|
||
SYNTAX-CASE is a system for macros proposed by R
|
||
</li>
|
||
<li>
|
||
<a href="xarray.html" class="internal">xarray</a> -
|
||
This package implements a generalized interface for array-like
|
||
</li>
|
||
</ul><p><b>Pattern matching:</b> (main topic: <a href="pattern matching.html" class="internal">pattern matching</a>)
|
||
<ul>
|
||
<li>
|
||
<a href="bind.html" class="internal">bind</a> -
|
||
Bind combines <a href="https://www.cliki.net/site/HyperSpec/Body/speope_letcm_letst.html" class="hyperspec">let*</a>, <a href="https://www.cliki.net/site/HyperSpec/Body/mac_destructuring-bind.html" class="hyperspec">destructuring-bind</a> and <a href="https://www.cliki.net/site/HyperSpec/Body/mac_multiple-value-bind.html" class="hyperspec">multiple-value-bind</a> into a single form
|
||
</li>
|
||
<li>
|
||
<a href="bpm2.html" class="internal">bpm2</a> -
|
||
bpm2 is a <a href="pattern matching.html" class="category">pattern matching</a> language originally designed for doing code transformation [ie, writing compilers]
|
||
</li>
|
||
<li>
|
||
<a href="cartesian-product-switch.html" class="internal">cartesian-product-switch</a> -
|
||
cartesian-product-switch is a macro for choosing the appropriate form to execute according to the combined results of multiple tests
|
||
</li>
|
||
<li>
|
||
<a href="cl-unification.html" class="internal">cl-unification</a> -
|
||
Provides unification (as used in Prolog) over fairly arbitrary Common Lisp objects
|
||
</li>
|
||
<li>
|
||
<a href="cl-xmlspam.html" class="internal">cl-xmlspam</a> -
|
||
XML Stream PAttern Matcher - concise, regexp-like <a href="pattern matching.html" class="category">pattern matching</a> on streaming <a href="XML.html" class="category">XML</a>
|
||
</li>
|
||
<li>
|
||
<a href="let-plus.html" class="internal">let-plus</a> -
|
||
LET+ extends <a href="https://www.cliki.net/site/HyperSpec/Body/speope_letcm_letst.html" class="hyperspec">let*</a> with destructuring forms, slot access, hash table elements and various other constructs with a consistent interface
|
||
</li>
|
||
<li>
|
||
<a href="MCPat.html" class="internal">MCPat</a> -
|
||
MCPat is a meta-circular <a href="pattern matching.html" class="category">pattern matching</a> library
|
||
</li>
|
||
<li>
|
||
<a href="screamer.html" class="internal">screamer</a> -
|
||
Screamer adds support for nondeterministic and constraint programming, including backtracking and undoable side-effects
|
||
</li>
|
||
<li>
|
||
<a href="spath.html" class="internal">spath</a> -
|
||
<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
|
||
</li>
|
||
<li>
|
||
<a href="Toadstool.html" class="internal">Toadstool</a> -
|
||
Toadstool is a library for <a href="pattern matching.html" class="category">pattern matching</a>
|
||
</li>
|
||
<li>
|
||
<a href="Trivia.html" class="internal">Trivia</a> -
|
||
Trivial <a href="pattern matching.html" class="category">pattern matching</a> compiler
|
||
</li>
|
||
<li>
|
||
<a href="type-r.html" class="internal">type-r</a> -
|
||
The complete collection of accessor functions and patterns to access the elements in a compound type specifier
|
||
</li>
|
||
</ul><p><b>Metaprogramming:</b> (main topic: <a href="metaprogramming.html" class="internal">metaprogramming</a>)
|
||
<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="language extension.html">Current version</a></li>
|
||
<li><a href="https://www.cliki.net/site/history?article=language%20extension">History</a></li>
|
||
<li><a href="https://www.cliki.net/site/backlinks?article=language%20extension">Backlinks</a></li><li><a href="https://www.cliki.net/site/edit-article?title=language%20extension&from-revision=3639091305">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> |