Common Lisp Implementation

Prerequisites

Supported Lisp Implementations

Currently, only SBCL is supported.

Required Infrastructure

  • ASDF is used for compilation, loading and dependency management.
  • Quicklisp is recommended for installation of dependencies.

External Dependencies

System Required? Obtainable From
alexandria yes Quicklisp
split-sequence yes Quicklisp
iterate yes Quicklisp
let-plus yes Quicklisp
more-conditions yes Quicklisp
bordeaux-threads yes Quicklisp
lparallel yes Quicklisp
trivial-garbage yes Quicklisp
closer-mop yes Quicklisp
cl-hooks yes Quicklisp
log4cl yes Quicklisp
nibbles yes Quicklisp
puri yes Quicklisp
uuid yes Quicklisp
local-time yes Quicklisp
utilities.print-items yes Quicklisp
utilities.binary-dump yes Quicklisp
cl-ppcre for Regexp filtering Quicklisp
cxml-stp for XML payload Quicklisp
xpath for XPath filtering Quicklisp
cl-protobuf for Socket and Spread transports https://github.com/scymtym/cl-protobuf
network.spread for Spread transport https://github.com/scymtym/network.spread
architecture.builder-protocol for rsb-*-builder systems https://github.com/scymtym/architecture.builder-protocol

Note

The network.spread system requires the libspread library (which is written in C). For installing the library, see C++ installation instructions.

Installation

  1. Checkout cl-rsb system from “0.15” branch of https://code.cor-lab.org/git/rsb.git.cl

  2. Install other additional systems:

    • cl-protobuf
    • network.spread
    • architecture.builder-protocol (optional)
    cd "${quicklisp}/local-projects"
    git clone https://github.com/scymtym/cl-protobuf
    git clone https://github.com/scymtym/network.spread
    git clone https://github.com/scymtym/architecture.builder-protocol
    sbcl --load "${quicklisp}/setup.lisp" --eval '(ql:register-local-projects)' --quit
    
  3. Load cl-rsb (and e.g. the socket transport) with Quicklisp to pull in remaining dependencies:

    (ql:quickload '(:cl-rsb :rsb-transport-socket))