VList – a different IPersistentList

A VList is a datastructure developed by Phil Bagwell. It provides various improvements over a „normal“ linked list implementation, eg. reduced space requirements or O(1) random access (similar to vectors).

This project is VList implementation for Clojure. It is a drop-in replacement for the built-in persistent list.

How to use?

The library is distributed via clojars. There is no need to build it yourself. Just add a dependency to your favorite build tool.


dependencies {
    compile 'vlist:vlist:<version>'




:dependencies [[vlist <version>]]

Add a :use or :require clause to your ns declaration.

  [:use vlist.core :only (vlist)])

vlist.core exports only one function: vlist. All other API is basically provided by Clojure itself. Just use as any other persistent list in Clojure.


Please report bugs in the issue tracker or mail them to me directly.

Meikel Brandmeyer 2010 © Erlensee, Germany