Installation
Two main asdf systems are provided:
numericals
which works withcl:array
,- and
dense-numericals
which works with dense-arrays
Load either or both of them according to your needs.
Without quicklisp client: ocicl
Install ocicl as per the instructions here.
Once ocicl is installed, setup, and the runtime loaded into the lisp image, simply:
(asdf:load-system "numericals")
;;; OR
(asdf:load-system "dense-numericals")
Using quicklisp client
quicklisp is a defacto package manager for Common Lisp. All the below methods rely on the availability of the quicklisp client. The instructions to install it can be found here. Other useful resources to get started with quicklisp include:
Once the quicklisp client is installed, proceed with one of the below methods to install numericals
or dense-numericals
or both.
Through quicklisp dist alone
Simply quickload the required asdf system.
(ql:quickload "numericals")
;;; OR
(ql:quickload "dense-numericals")
Depending on when you are reading this, the quicklisp versions could be a bit older than what you might wish for. If you want to use recent feature updates or bug fixes, you might want to use ultralisp or download-dependencies.
Using ultralisp dist
If you are trying Ultralisp for the first time:
(ql-dist:install-dist "http://dist.ultralisp.org/"
:prompt nil)
If you have been using ultralisp, simply update its dist:
(ql:update-dist "ultralisp")
Once (ql:quickload "numericals")
or (ql:quickload "dense-numericals")
is successful; use inside your own package using :mix
option of uiop:define-package
, or package-local-nicknames.
Using download-dependencies
First clone the github repository of numericals to where quicklisp can find.
cd /path/to/quicklisp/local-projects/ # This is usually $HOME/quicklisp/local-projects
git clone https://github.com/digikar99/numericals
download-dependencies is a simple tool to download the dependencies of any given project. In order to use it, clone also the download-dependencies
asdf system into your quicklisp local projects.
git clone https://github.com/digikar99/download-dependencies
Then create the directory where you want to download the dependencies for numericals
or dense-numericals
.
mkdir -p /path/to/dependencies
Finally, quickload
and download the dependencies:
(ql:quickload "download-dependencies")
(let ((download-dependencies:*dependencies-home* #P"/path/to/dependencies/"))
(download-dependencies:ensure-system "numericals"))
Finally, you will need to instruct the quicklisp client to look into this path. After that, you can simply use quickload
:
(push #P"/path/to/dependencies" ql:*local-project-directories*)
(ql:quickload "numericals")
;;; OR
(ql:quickload "dense-numericals")
Using clpm
TODO
Using ros
TODO
- Needs a way to install packages outside github.