The Common Lisp Metaspec is a translation of the
TEX source files of the Common Lisp Standard rev 15.17R
(X3J13/94-101R) into a s-expression document format
structured around a (NODE-TYPE PROPERTY-PLIST
NODE-CHILD*) form. Care has been taken to preserve the
provenance of the original texts, and any deviations from the
document have been mechanically applied and recorded
as Errata.
The Metaspec Render is an HTML rendering of the Metaspec. As well as rendering the Metaspec sdoc into HTML, it also handles reference linking, search, and presentation. A link to the original Metaspec document is available on the bottom of every rendered page.
The MetaSpectre project is the code and archived inputs to create and render the Metaspec. It was started in 2015, abandoned for a long time, then completed in 2026.
The top-level :metaspec node has the following properties:
:version - The version number of the Metaspec
translation. This is updated for every published change
of the Metaspec.:origin - The public repository of the code
generating the translation. This should be the same for the
official Metaspec version, though it may change if new hosting is
required.:built -
An ISO 8601
timestamp of the time of translation.The Metaspec Render has an HTML comment near the beginning of each page containing each field, as well as a timestamp of the rendering.
The Metaspec Render relies on JavaScript for its Search mechanism
so that it can be distributed as a static collection of files. The
nav search bar is only shown when JavaScript is available. The
index is a rendered JSON file containing a search lookup table. If
the
The dedicated search page also functions
entirely using JavaScript, and shares some code with the nav search
box. It examines the q search parameter to pre-fill the query.
If there is only one exact result on page load, it will redirect to
the page. This makes it useful to create a search shortcut like
https://metaspec.dev/search.html?q=%s.
There is an OpenSearch Description file which allows the browser to easily add this as a shortcut.
In addition to the Common Lisp Standard, there are also Cleanup Issues, part of the X3J13 committee's deliberations over the standard. These are scraped from archived email threads, but the committee had the forethought to structure this information, so we are able to discover the final versions of these issues and relate them to the spec. Since these are plain-text emails, however, any styling in the render is heuristic and subject to change.
Both passed and failed issues are rendered and cross-referenced.