A lot of different efforts are going on at the moment. So I thought I'd try to write down the efforts and their status as far as I know. Both to be informational, or to comment upon to correct my understanding.
1. The Gray streams effort We're slowly progressing on this issue: a design was agreed upon and Ville has added that to the wiki. Next steps include setting up the right java and lisp code for the structure ANSI-STREAM to hold closures used for I/O processing. Basically this design was taken from SBCL.
2. Better inlining of lambda functions and inlined named functions By inlining lambda functions as much as we can, we can reduce the number of reflection calls required to instantiate all our function classes. Alessio is working on creating a function argument matcher which binds the newest PARSE-LAMBDA-LIST on trunk with the function call arguments in order to generate a LET* form instead of a function call.
3. Pathnames as a way to address JAR file content ABCL extends the pathname scheme in CL to address resources in JAR files. However, this support was limited to a small number of pathnames related functions. Mark Evenson is working to improve the situation.
4. DEFINE-METHOD-COMBINATION Mark Evenson started on this issue; however post-poned it to work on item (3). Feel free to pick it up!
5. Local functions in same class file as the function they're defined in Some time ago, I started working on a general class file writer to make it possible to store local functions inside the same class as the function in which they're defined. This effort is progressing very slowly; it's more of a side project to other improvements in the project. It has the same goal as (2): reduction of the number of required reflection calls to get our classes loaded.
Bye,
Erik.
armedbear-devel@common-lisp.net