1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
The following lists the main goals pursued by the SISC project, in
decreasing order of priority.
1) Standards Compliance
- full compliance with R5RS
- comprehensive numeric tower
- support for most of the optional elements of the standard
- reporting of errors in all error situations defined by the standard
2) Compact, Clean Code Base
- elegant
- doing the "right thing" philosophy
- easy to extend
- easy to refactor
3) Good Performance
- be the fastest Java-based Scheme Interpreter
- be one of the fastest Schemes when it comes to capturing and
invoking continuations
4) Small Footprint
- small size of "executable" (jar + heap image)
- small (for a Java-based program) memory footprint
5) Comprehensive Set of Libraries
- access to any Java library from Scheme
- support for most SRFIs
- integration with SLIB
6) Suitability for "Real World" applications
- comprehensive documentation
- thread safety
- embeddable into other Java applications
- good error reporting / debugging capabilities
- module system
- object system
The order of priority is not followed religiously. For instance, small
sacrifices in code elegance and compactness in exchange for
performance speed gains are acceptable.
|