Roan is a libary of Common Lisp code for writing applications related to change ringing It is roughly comparable to the Ringing Class Library although that is for the C++ programming language, and the two libraries differ in many other ways.
facilities for representing rows and changes as Lisp objects, and permuting them, etc.
functions for reading and writing place notation, extended to support jump changes as well as conveniently representing palindromic sequences of changes
a set data structure suitable for collecting and proving sets of rows, or sets of sets of rows
a pattern language for matching rows, for example, for identifying ones with properties considered musically desirable; and that includes the ability to match pairs of rows, which enables identifying wraps
a data structure for describing methods, which can include jump changes,
a searchable database of method definitions, together with a mechanism for updating that database from the ringing.org web site
a function for extracting false course heads from common kinds of methods
there's more in the works, just not ready for public release yet
Roan is distributed under an MIT open source license, which mostly means that you can just use Roan for nearly anything you like.
See the file
LICENSE for details.
While Quicklisp is not required to run Roan,
it is recommended.
With Quicklisp installed and configured, you can download and install Roan by simply
executing in Lisp
quickload function, above, will also pull in all the other libraries
upon which Roan depends; if you don't use Quicklisp you will have to ensure that those
libraries are available and loaded. If you don't want to use Quicklisp, and prefer to load
Roan by hand, the repository for Roan itself is at
both current and previous versions can be downloaded from the tags pane of the Downloads
Roan has been tested with
CCL version 1.11 (64 bit), on Ubuntu Linux 16.04 and macOS 10.13.5
SBCL (64 bit) version 1.3.18 on Ubuntu Linux 16.04 and version 1.2.11 on macOS 10.13.5
CLISP version 2.49 on Ubuntu Linux 16.04
but it should also work in other, modern Common Lisp implementations that support the libraries on which Roan depends.
The Roan manual is available online. It can also be downloaded in four different formats: