lisp-interface-library is a collection of pure and stateful data structures in interface-passing style from Fare Rideau.

Implemented data-structures include pure and stateful functional maps, notably AVL trees, hash-tables based on the previous and big-endian patricia trees (tries).

The library uses Interface-Passing Style for parametric polymorphism.

This code was previously part of fare-utils but has been split into its own package since Quicklisp has now tipped the balance of practicality towards having plenty of small interdependent libraries rather than big independent monoliths.

The source code is at:

We are committed to making this the go-to library for both stateful and pure functional data-structures in CL, so we encourage you to send your feedback about how we can improve our code or API, and even to contribute patches.

lisp-interface-library is not yet quite as good as cl-containres regarding stateful data structures.

On our to-do list includes importing code from funds and from Chris Okasaki's book (e.g. porting Hari Prashant's Racket implementation).