Clcalc
From Theory of Measurements Wiki
Clcalc
Clcalc is a project aiming to create a simple computational environment in Common Lisp to do linear algebra and simple visualization. There exist already some projects doing the same, eg Matlisp and Nlisp.
Clcalc source code can be viewed at our cvs.
Status
At the moment, the code is in an early prototype state and evolving constantly. During 2006, I created simple CLOS-based plotting facility to do 2d lineplots and pixelmap images into EPS files. Initially I used Matlisp to represent matrices, but due to the extremely painful difficulties on getting Matlisp to compile and work on anything else than Linux/x86 I abandoned Matlisp. Last summer I started rewriting matrix support using CLOS wrappers around simple Lisp arrays.
This year, I've been refining the Lisp-based matrix representation to actually work. I also made some experiments on the foreign function interface (FFI) on SBCL and wrote a small C wrapper to calculate FFT using the FFTW3 library.
Future work
The current code is quite a mess. Although it is possible to do simple matrix computation right now, the pure Lisp-based matrix representation is extremely slow.
I'm planning to rewrite the matrix representation again and abstracting all matrix computation around readily available packages such as GSL, Blas, Lapack and so on. CFFI seems like a good choice to interface to GSL and other libraries, as it is portable across all major Lisp implementations. We are using at least ACL and SBCL.
