A stream-oriented implemented of the MongoDB wire protocol for Common Lisp.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE.txt
README.md
bson-buffer.lisp
bson-byte-vector.lisp
bson-input.lisp
bson-output.lisp
bson-package.lisp
bson-types.lisp
bson.asd
cl-mongo-stream-crud.lisp
cl-mongo-stream-package.lisp
cl-mongo-stream.asd
cl-mongo-stream.lisp

README.md

Overview

cl-mongo-stream is a stream-oriented implementation of the MongoDB wire protocol for Common Lisp, currently running only on LispWorks due to a number of LispWorks-specific optimizations.

This library provides support for reading and writing BSON documents to and from Common Lisp, including both a functional interface to produce and parse BSON documents on the fly, as well as a representation of BSON documents as Lisp property lists or association lists. BSON support is provided in its own BSON package because it may be useful independent from MongoDB.

The library also provides support for the essential MongoDB wire protocol operations in the cl-mongo-stream package. There is also some basic support for some basic CRUD and other commands, but that part of the library is far from complete. The focus is on support for BSON documents and the wire protocol.

Please see elprep-mongo for an example of how this library could be used.

Dependencies

The BSON implementation depends on the named-readtables library. The cl-mongo-stream further depends on the string-case library. Both libraries are available through the quicklisp package manager.