The SICL project
SICL (pronounce it as
"sickle") is a project that has two main purposes:
- Provide portable modules for implementers of Common Lisp systems
that provide some functionality that the Common Lisp language
standard requires, and that can be implemented using only some
other required features of the language without sacrificing
performance of the result.
- Use those modules plus some non-portable code to implement a
completely new Common Lisp system.
Some goals of the system and the individual modules are:
- Performance should be good; excellent if possible. Certainly
comparable to the best existing systems.
- The system should be well documented, but when it comes
to user documentation, i.e., documentation that the
application programmer might want in order to be more productive
in writing those applications, and when it comes to internal
documentation, i.e., documentation that might be useful to
someone who would like to understand how the system works, and who
might want to improve it in some way.
- The system should be highly introspective, allowing the
sophisticated user to inspect parts of the system with the use of
tools provided by the system itself.
- The system should provide excellent tools for debugging user
programs.
- The system should use internationalization so as to improve the
learning curve for non-English native speakers.
Internationalization would concern documentation, but also error
messages.
The repository on GitHub contains a document that explains the state
of various modules and the rest of the system, as well as plans for
the rest.
A list of published papers with new techniques that can be used to
improve some aspect of a Common Lisp implementation.
A list of existing libraries that were written either specifically
as part of the SICL project, or that were written independently, but
that are essential for the SICL project.
robert.strandh@gmail.com