Common Lisp CLISP

Common Lisp is
  • a general-purpose programming language and an AI language
  • interactive
  • a Lisp for professional use
  • a standard language: the syntax and semantics will not change tomorrow at someone's whim
Common Lisp programs are
  • easy to test (interactive)
  • easy to maintain (depending on programming style)
  • portable across hardware/OS platforms and implementations (there is a standard for the language and the library functions)
Our Common Lisp CLISP
  • needs only 4 MB of memory
  • implements most of the ANSI standard, as well as many extensions
  • can call your preferred editor
  • is freely distributable
Common Lisp provides
  • clear syntax, carefully designed semantics
  • several data types: numbers, strings, arrays, lists, characters, symbols, structures, streams etc.
  • dynamic typing: the programmer need not bother about type declarations, but he gets notified on type violations.
  • many generic functions: 88 arithmetic functions for all kinds of numbers (integers, ratios, floating point numbers, complex numbers), 44 search/filter/sort functions for lists, arrays and strings
  • automatic memory management (garbage collection)
  • packaging of programs into modules
  • an object system, generic functions with powerful method combination
  • macros: every programmer can make his own language extensions
Our Common Lisp CLISP provides
  • an interpreter
  • a compiler which makes execution of programs 5 times faster
  • a source-level debugger which allows stepping through interpreted code, form by form
  • all data types with unlimited size (the size need never be declared, the size of lists and arrays may be changed dynamically)
  • integers of arbitrary length
  • unlimited floating point number precision
  • 800+ library functions and macros, 600+ of them written in C

CLISP and Unicode

[unicode logo] CLISP fully supports Unicode 3.2: here is a Lisp file with Japanese characters in it, run in xterm:

[画像:[Japanese sources run in xterm with CLISP]]

(also edited in GNU Emacs).

CLISP and CLX

Here is a demo of the CLISP new-clx module (with the xshape extension):

[画像:[CLISP new-clx sokoban (xshape extension)]]

CLISP Performance

CLISP compares well with other ANSI CL implementations with respect to performance in most areas, such as CLOS, I/O, lists, integer arithmetics (CLISP's bignum performance is better than that of most other CL implementations). The worst performance CLISP exhibits is in the area of floating point arithmetics. While showing nothing spectacularly bad and easily outperforming Java, Perl, TCL and any Scheme interpreter, CLISP is slower than another open-source CL implementation, CMU CL, which outperforms C and FORTRAN. If your code is heavily numeric, you might prefer CMUCL, otherwise CLISP is a wise choice.


[CLISP home] [SourceForge Logo] [Support This Project] [Valid XHTML] [Use CSS] [Valid CSS]

AltStyle によって変換されたページ (->オリジナル) /