CLISP Help Wanted
CLISP project founder
Bruno Haible was one of the
finalists for the 2002
Free Software Award! Note that it said:
"Bruno Haible (known for his work
on GNU CLISP)"!
Now it is your chance to win the next Free Software Award!
The CLISP project is looking for excellent C hackers who can handle
some problems in the current
development
sources.
The prizes for handling these issues:
- handle one issue and you get CVS write access;
- handle two issues and you become an admin of the CLISP project;
- handle three or more issues and you become the principal maintainer.
This reminds me of a joke: after the 1991 Russian coup attempt (whose
failure lead to the final downfall of communism), the
Communist Party
was very unpopular and tried to increase the membership by asking its
members to recruit new members, with the following incentives:
- if you bring one new member, you don't have to pay membership dues
- if you bring two new members, you may resign from the Party
- if you bring three new members, you may resign and you will also receive
a certificate that you have never been a member of the Party!
The CLISP tasks
Entry-level tasks
- Add a module interfacing to libmagic.
- Add a
serial module to control serial devices using
<termios.h>
on unix and
SetCommState
on windows.
Segmentation faults
Any hard crash (segmentation fault, bus error etc) is a bug in CLISP.
See CLISP bug tracker.
New features
- CLISP offers a module that
interfaces to Matlab but no module that interfaces to
Octave - the free replacement to Matlab.
This is ideologically intolerable to the GNU party committee (despite the
fact that Octave does not offer a C API yet), so you are hereby invited to
volunteer to implement the Matlab C API for Octave and then make sure that
the CLISP Matlab module works with that new Octave C API.
- multi-threading (see
src/xthread.d,
src/zthread.d,
src/threads.lisp,
doc/multithread.txt)
(Vladimir Tzankov
is working on this)
- Embed CLISP
into your favorite application, e.g., VIM,
Gnumeric, or
OpenOffice.
This might require some additional API in CLISP, which we will be
happy to add.
- native file compilation (e.g., bytecodes→C)
- native just-in-time compilation
(Yann Dauphin is working
on JITC via lightning)
- compilation to JVM (this was thought to be important 10 years ago when the
main task of the computer industry was perceived to be speeding up JVM, so
we wanted to ride the wave, this might still be useful, but has a rather
low priority)
- GUI (e.g.,
wxCL)
- SSL bindings (note
cl-ssl)
- LDAP and
gnome-config support in
modules/dirkey
Infrastructure
- Use
libtool to produce lisp.so
(lisp.dll on woe32) instead of lisp.run
(lisp.exe on woe32).
- Use
dlopen (LoadLibrary on woe32)
instead of exec (CreateProcess on woe32)
to start a linking set in clisp (clisp.exe
on woe32). This is related to embeddability.
See also