Basic functions and macros, interfaces, pure and stateful datastructures
A library providing functions that unify data-structure access for Common Lisp:
access and (setf access)
cl-custom-hash-table extends the hash table data structure by allowing the use of arbitrary TEST/HASH functions, in addition to the TEST functions allowed by the standard (EQ, EQL, EQUAL and EQUALP).It is different from genhash in that genhash is a complete hash table implementation with its own api. CL-CUSTOM-HASH-TABLE is primarily a compatibility layer that uses the standard hash table API, and has a simple fall-back solution built on top of standard hash tables.Homepage: https://github.com/metawilm/cl-custom-hash-tableLicense: BSD-style
Simple array operations library for Common Lisp.
A compact binomial heap implementation.
This page is moved to https://github.com/vy/bk-tree.Keywords: data structure
Extensible cache services for Common Lisp
A wrapper around native hash-tables to facilitate
in-process caching of common lisp data structures.
An implementation of heap and priority queue data structures.
Provides implementations of the standard sub-string search (string
matching) algorithms: brute-force, Boyer-Moore, Rabin-Karp, etc.
Generic interfaces for collections and iterators.
A library providing a data-table class, and useful functionality around this
An implementation of the doubly-linked list in Common Lisp.
Flexichain is an API for editable sequences. Its primary use is in end-user applications that edit sequences of objects such as text editors (characters), word processors (characters, paragraphs, sections, etc), score editors (notes, clusters, measures, etc), though it can also be used as a stack and a double-ended queue. Project page
Topics: data structure
A functional set-theoretic collections library.
Generic hashtable code
hh-redblack provides in-memory and disk-based red-black trees.Homepage: http://haphazardhouse.net/projects/hh-redblackSource: https://github.com/hargettp/hh-redblackLicense: MIT
Topics: data structure StructuredStorage
A few different kinds of queues, with optional
Long name alias for lil
Various heap/priority queue data structures
pipes implements the input stream (lazy list) data structure. It is based on ideas from Peter Norvig's Paradigms of Artificial Intelligence Programming.``Pipes'' is an implementation of a concept that goes by many names: streams or functional streams SICP, generated lists or glists, and lazy lists.
spatial-trees is a set of dynamic index data structures for spatially-extended data. The flavors provided are, as of the 0.1 release (on 2004-12-03):
R-trees, as in R-TREES: A DYNAMIC INDEX STRUCTURE FOR SPATIAL SEARCHING, Antonin Guttman, Proc. ACM SIGMOD Int. Conf. on Management of Data, 1984.
Greene-trees, as in An Implementation and Performance Analysis of Spatial Data Access Methods, Diane Greene, Proc. 5th IEEE Int. Conf. on Data Engineering, 1989.
R*-trees, as in The R*-tree: An Efficient and Robust Access Method for Points and Rectangles, Beckmann, Kriegel, Schneider and Seeger, Proc. ACM Int. Conf. on Management of Data, 1990
X-trees, as in The X-tree: An Index Structure for High-Dimensional Data, Berchtold, Keim and Kriegel, Proc. 22th Int. Conf. on Very Large Databases, 1996
Future work planned includes performance enhancements, incorporation of more index structures, and some work on supporting more optimal indexing when the entire set of data is known at index creation time; for more details, see the TODO file in the binary distribution.The code is licensed BSD-style, and is intended to be similar in spirit to Nathan Froyd's TREES Library.
You can get this via Quicklisp.As per #lisp discussion, the new official source for this is the github repository, which is a conversion of the darcs repository.
Defines a new kind of package that's named by a symbol rather than a string and that maps from existing symbols to their respective "implicitly managed" counterparts. The motivating use-case is to conceptually allow multiple definitions of the same kind on a single symbol, without conflicts.
A library for binary trees in normal and balanced flavors
functional data collections
An alternative to DOM inspired by XOM
lichteblau.com/cxml-stpDownload (tarball): Yes, see belowDownload (git clone): http://www.lichteblau.com/git/cxml-stp.git
(gitweb)This project is asdf-installable (release tarball) and available in clbuild (git version).
An alternative to DOM.
Feature overviewcxml-stp is an add-on package for cxml.
Implements STP, an alternative to W3C DOM.
STP is a data structure for well-formed XML documents
Inspired heavily by Java's XOM, but
designed for Common Lisp.
A randomized property-based testing tool for Common Lisp.
marshal: Simple (de)serialization of Lisp datastructures.
CL-PROJ Common Lisp bindings for the Proj4 geographic projections library.
Funds provides portable, purely functional data structures written in Common Lisp.Go to the project's homepage.
Set-like data structure.
Support 'readable' extensions to Lisp s-expressions
Composable Transactional Memory
xml-emitter simply emits XML, with some
complexity for handling indentation. It can be used to produce all
sorts of useful XML output; it has an RSS 2.0 emitter built in.