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 “1.0” branch of https://github.com/open-rsx/rsb-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))