cl-libxml2 is high-level Common Lisp wrapper around the libxml2 and libxslt libraries.
Interfaces for tree manipulation (like
cxml-stp).Interface for HTML 4.0 non-validating parsers.
Specific APIs to process HTML trees, especially serialization.
XPath API.
XSLT API.
Custom URL resolvers.
XPath extension functions.
XSLT extension elements.
Translates
libxml2andlibxslterrors to Lisp conditions.Extends the Common Lisp
iteratelibrary with custom drivers for child nodes enumeration, etc.The
XFACTORYsystem provides a simple and compact syntax for XML generation.
CXML does an excellent job at parsing XML elements, but what do you do when you have a XML file that's larger than you want to fit in memory, and you want to extract some information from it? Writing code to deal with SAX events, or even using Klacks, quickly becomes tedious. cl-xmlspam (for XML Stream PAttern Matcher) is designed to make it easy to write code that mirrors the structure of the XML that it's parsing. It also makes it easy to shift paradigms when necessary - the usual Lisp control constructs can be used interchangeably with pattern matching, and the full power of CXML is available when necessary.
40ants-doc provides a rudimentary explorable programming environment. The narrative primarily lives in so-called sections that mix Markdown docstrings with references to functions, variables, etc., all of which should probably have their own docstrings.
The primary focus is on making code easily explorable by using SLIME's M-. (slime-edit-definition). Generating documentation in Markdown or HTML format from sections and all the referenced items is also implemented.
With the simplistic tools provided, one may obtain results similar to literate programming, but documentation is generated from code, not the other way around, and there is no support for chunking. Code comes first, code must look pretty, documentation is code.
40ants-doc is a fork of MGL-PAX with fewer dependencies (only named-readtables and pythonic-string-reader) for the core system, and additional features in the full system.
This is a system implementing an advanced dialogue system that is capable of complex dialogue flow including choice trees and conditional branching. Speechless was first developed for the "Kandria" (https://kandria.com) game, and has since been separated and made public in the hopes that it may find use elsewhere or inspire other developers to build similar systems.
Speechless is based on the "Markless" (https://shirakumo.github.io/markless) document standard for its syntax and makes use of Markless' ability to be extended to add additional constructs useful for dialogue systems.
Speechless can compile dialogue from its base textual form into an efficient instruction set, which is then executed when the game is run. Execution of the dialogue is completely engine-agnostic, and only requires some simple integration with a client protocol to run.
Thanks to Markless' extensibility, Speechless can also be further extended to include additional syntax and constructs that may be useful for your particular game.
postmodern is a Common Lisp library for interacting with PostgreSQL databases. It provides the following features:
Efficient communication with the database server without need for foreign libraries.
Support for UTF-8 on Unicode-aware Lisp implementations.
A syntax for mixing SQL and Lisp code.
Convenient support for prepared statements and stored procedures.
A metaclass for simple database-access objects.
This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
SIMPLE-DATE is a very basic implementation of date and time objects, used to support storing and retrieving time-related SQL types. It is not loaded by default and you can use local-time (which has support for timezones) instead.
S-SQL is used to compile s-expressions to strings of SQL code, escaping any Lisp values inside, and doing as much as possible of the work at compile time.
CL-POSTGRES is the low-level library used for interfacing with a PostgreSQL server over a socket.
POSTMODERN itself is a wrapper around these packages and provides higher level functions, a very simple data access object that can be mapped directly to database tables and some convenient utilities. It then tries to put all these things together into a convenient programming interface
.
HTML parser/emitter for CommonDoc.
Modeline support for memory info.
Modeline support for CPU info.
Modeline support for network connectivity.
Electron binding for Common Lisp
Generic documentation builder for Common Lisp projects.
Enables fast and convenient interoperation with foreign objects.
This package provides a SuperCollider client for Common Lisp.
This package provides functions for generating lorem ipsum text.
This package provides a CONSPACK implementation for Common Lisp.
A Stumpwm mode-line module for displaying MPD information.
This package provides a SuperCollider client for Common Lisp.
This is a c2ffi-based wrapper generator for Common Lisp.
Fully auto-generated Common Lisp bindings to Raylib and Raygui.
A library for encoding text in various web-savvy encodings.
BOOST-PARSE is a simple token parsing library for Common Lisp.
CL-STRFTIME is a Common Lisp compiler for the strftime “language.”
This is an implementation of a Markdown parser in Common Lisp.