对初学者来说,Lisp库的找寻和安装一直是个大问题,这也是制约着Lisp推广的一个重要因素。Lisp缺乏一个现代化的标准库(lisp的标准库很 大,但已经标准化很多年了,缺乏一些现代化的原素),同时lisp的灵活性又给了库设计者很大的自由,这导致了事实上的标准库也难以出现。加上库之间复杂 的依赖关系,如何在众多的库中找到并安装相应的库一直是困扰广大初学者的一个问题。asdf-install曾被设计来解决这个问题,但仍然存在着缺乏对 windows的支持、对外部工具的依赖、缺乏一个中心的软件储存仓库、对库版本之间的依赖性计算不充分等问题。我自己就遇到过在windows平台上的 SBCL下安装库的麻烦,下载了好几种外部工具和库才解决,后来重装系统后干脆换到Debian下工作了。
新的quicklisp有望解决初学者的这些烦恼。你可以把quicklisp视作如同Debian中的包管理器,工作人员已经确认过库之间的依赖关系并 将其存储在服务器上,会按你的要求自动下载和安装。当然,因为是新项目,库的支持还是不全面的,但300多个库对初学者来说的确是足够了,不,或许是太多 了。我按自己的需要选择了其中一小部分,并加工上了库的介绍,有兴趣的朋友可以看看。当然,全面的列表还请访问官 网:http://www.quicklisp.org。
GUI:
ltk LTK is a Common Lisp binding for the Tk graphics toolkit.
cl-gtk2 a Common Lisp GUI library that provides access to the Gtk+ cross-platform GUI library in idiomatic Lisp style.
cl-cairo2 cl-cairo2 is a graphics library that provides Common Lisp bindings for the Cairo API.
cl-opengl cl-opengl is a set of CFFI bindings to the OpenGL, GLU and GLUT APIs.
cl-glfw Is a public domain set of CFFI bindings for the GLFW OpenGL helper library.
graphics/image:
ch-image ch-image is an open-source Common Lisp library for image representation, processing and manipulation.
vecto Vecto is a simplified interface to the powerful CL-VECTORS vector rasterization library.
ADW-Charting ADW-Charting is a simple chart drawing library for quickly creating reasonable-looking charts.
cl-png CL-PNG is a Common Lisp library for reading and writing PNG files.
cl-jpeg CL-JPEG is a baseline JPEG encoder/decoder library written in ANSI Common Lisp.
s-dot S-Dot is an S-Expression syntax for the input language of the 'Dot' graph drawing tool from the AT&T GraphViz suite.
SKIPPY Read and write GIF files with Common Lisp.
MATH:
clem CLEM is an open-source Common Lisp library for the representation and manipulation of matrices.
cl-random cl-random is a Mathematics Library for uni- and multivariate probability distributions and statistical functions.
gsll GNU Scientific Library for Lisp.
L-MATH L-MATH is a Common Lisp library for simple linear algebra for use in geometric applications.
MT19937 MT19937 is a portable Mersenne Twister random number generator.
RCL RCL uses CFFI to communicate with the R environment.
Low level library:
cffi the Common Foreign Function Interface, purports to be a portable foreign function interface for Common Lisp.
FFA Foreign friendly arrays for Common Lisp.
FSBV Call foreign functions when one or more arguments and/or the return value are structures by value.
gsd Operations on data structured as a grid, i.e., generalized arrays.
Test:
lisp-unit lisp-unit is a Common Lisp library that supports unit testing.
Data store/transfer:
s-base64 A Common Lisp implementation of Base64 Encoding/Decoding.
s-xml S-XML is a simple XML parser implemented in Common Lisp.
s-xml-rpc S-XML-RPC is an implementation of XML-RPC in Common Lisp for both client and server.
CL-SQLITE CL-SQLITE package is an interface to the SQLite embedded relational database engine.
cl-store A Common Lisp Serialization Package.
utilities:
alexandria Alexandria is a collection of portable public domain utilities.
babel Babel is a charset encoding/decoding library.
iterate iterate is an iteration construct for Common Lisp.
array-operations Array-operations provides commonly used operations on arrays.
CL-Containers CL-containers adds binary search trees, red-black trees, sparse arrays, and other useful containers.
binary-types Binary-types is a library for accessing binary format? files with fixed bit-length code-words.
Calispel Calispel is a Common Lisp library for thread-safe message-passing channels.
Buildapp Buildapp is an application for SBCL that configures and saves an executable Common Lisp image.
CL-DATA-FORMAT-VALIDATION providing a consistent regular interface for converting external data into internal data types.
CL-FAD CL-FAD is a thin layer atop Common Lisp's standard pathname functions.
LOCAL-TIME local-time is a development library for manipulating date and time information in a semi-standard manner.
CL-PPCRE CL-PPCRE is a portable regular expression library for Common Lisp.
sundries:
CL-CTRNN CL-CTRNN is a Common Lisp library for the simulation of Continuous-Time Recurrent Neural Networks.
colorize Colorize is an Application for colorizing chunks of Common Lisp, Scheme, Elisp, C, C++, or Java code.
external-program run programs outside the Lisp process.
quicklisp-slime-helper Helper library for easy Quicklisp SLIME setup.
Screamer an extension of Common Lisp that adds support fornondeterministic programming.
------------------------------------
本文为Dreamer(Dream_soft)原创,版权归Dreamer(Dream_soft)所有,欢迎各网站转载。转载时请保持原文完整并保留版权信息。