1. Sigma Development
  2. Untitled project
  3. sigma-release


Clone wiki

sigma-release / Home

Developed at the University of Southern California
Current release: Sigma38


  • If you're new to lisp, there is a lisp tutorial here
  • A Sigma tutorial is available here
  • Sigma reference sheet can be found here
  • Release Notes are available here
  • for help contact: sigma@ict.usc.edu

Where to get Sigma

Source can be downloaded here or using git:

  • You will need to have git installed on your machine & a bitbucket account
  • Then you can run the following command
$ git clone https://YOUR_BITBUCKT_USERNAME@bitbucket.org/sigma-development/sigma-release.git
  • This will copy a directory sigma-release onto your local machine
  • Under sigma-release/Sigma38/src you will see the Sigma source files
  • Sigma is written in Common Lisp. This version requires LispWorks for use of its GUI, but can be run in other implementations for use of the core functionality (tested with SBCL and CLISP)
  • if you're looking for an open source common lisp implementation options are available here and here

Install Quicklisp

  • Sigma is loaded using the Quicklisp library manager. If you don't have quicklisp installed please follow the directions on their site for installation, you will need to load the quicklisp.lisp file and then run the following command to install:
CL-USER> (quicklisp-quickstart:install)
  • This will create a directory called quicklisp in your home directory.
  • To ensure quicklisp is loaded each time you start your lisp system you should run the following command:
CL-USER> (ql:add-to-init-file)
  • This will append code to your initialization file which checks and loads quicklisp each time you start your system. In LispWorks for example, commands will be added to your .lispworks file

Load Sigma

  • Using either LispWorks or one of the open source options you can fire up a REPL (read/eval/print loop)
  • Add the sigma source directory to the ASDF source registry system (using your own path):
CL-USER> (pushnew #p"/home/USER/sigma-release/Sigma38/src/" asdf:*central-registry*)

load the required cl-store library

CL-USER> (ql:quickload :cl-store)

you can then load the sigma package

CL-USER> (ql:quickload :sigma)

use in-package to make sigma the current package and call functions without the sigma: qualifier

CL-USER> (in-package :sigma)

Permanently Add Sigma to your Initialization file

some of the commands above can be added to your init file so that you need not run them every time you start your Lisp system. For example in Lispworks you can add these lines to the end of your .lispworks file:

(pushnew #p"/home/USER/sigma-release/Sigma38/src/" asdf:*central-registry*)
(ql:quickload :sigma)

then every time you start up lispworks Sigma will be loaded and you can simply run (in-package :sigma)

Additional commands can be added to set your default package to sigma every time you launch Lispworks. A sample Lispworks initalization file can be found here

IMPORTANT NOTE: to compile new files within the sigma package the package directive should be added at the beginning of the source file before compiling

(in-package :sigma)

Older Releases

Download the archive, releases < Sigma37 require the following steps

  • Under SigmaXX/src you will see the sigma.lisp
  • LispWorks is required for use of graphical features, but can be run in other implementations for use of the core functionality (tested with SBCL and CLISP)
  • load/compile the file sigma.lisp. This will also compile the additional files that sigma requires & if Lispworks' CAPI library is detected the graphical features will be loaded as well.
  • The variable sigma-home by default assumes that you have downloaded sigma-release into your $HOME directory. If you have downloaded Sigma to another location you will need to adjust that variable (line 52 of sigma.lisp)
  • other GUI-based git tools available: SourceTree

This material is based upon research supported by the Army, the Office of Naval Research, and the Air Force Office of Scientific Research.