-*- org -*- * compiler ** DONE ast rewrite - State "DONE" [2009-04-09 Thu 14:32] ** DONE call/cc support - State "DONE" [2009-04-09 Thu 14:36] ** DONE exceptions - State "DONE" [2009-04-09 Thu 14:45] ** TODO native x86 backend ** TODO fasl/image files ** TODO shared stack on EVAL Arguably a bug, at the moment we create a new stack on every EVAL (which includes every macro definition, and in particular every call to let-syntax that a macro may expand into - I'm looking at you, (chibi loop)). * compiler optimizations ** TODO constant folding ** TODO simplification pass, dead-code elimination This is important in particular for the output generated by syntax-rules. ** TODO lambda lift The current closure representation is not very efficient, so this would help a lot. ** TODO inlining (and disabling primitive inlining) Being able to redefine procedures is important though. ** TODO unsafe operations Possibly, don't want to make things too complicated or unstable. ** TODO plugin infrastructure ** TODO type inference with warning * macros ** DONE hygiene - State "DONE" [2009-04-09 Thu 14:41] ** DONE hygienic nested let-syntax - State "DONE" [2009-12-08 Tue 14:41] ** DONE macroexpand utility - State "DONE" [2009-12-08 Tue 14:41] ** TODO compiler macros ** TODO SRFI-46 basic syntax-rules extensions ** TODO (... ...) support ** TODO syntax-rules common pattern reduction ** TODO syntax-rules loop optimization * garbage collection ** DONE precise gc rewrite - State "DONE" [2009-06-22 Mon 14:27] ** DONE fix heap growing - State "DONE" [2009-06-22 Mon 14:29] ** DONE separate gc heaps - State "DONE" [2009-12-08 Tue 14:29] ** DONE add finalizers - State "DONE" [2009-12-08 Tue 14:29] ** TODO support weak references * runtime ** DONE bignums - State "DONE" [2009-07-07 Tue 14:42] ** TODO unicode ** TODO threads ** TODO recursive disasm * FFI ** DONE libdl support - State "DONE" [2009-12-08 Tue 14:45] ** DONE opcode generation interface - State "DONE" [2009-11-15 Sun 14:45] ** TODO stub generator *** DONE define-c-struct - State "DONE" [2009-11-29 Sun 14:48] *** DONE define-c - State "DONE" [2009-11-29 Sun 14:48] *** TODO array return types *** TODO pre-buffered string types (like getcwd) * module system ** DONE scheme48-like config language - State "DONE" [2009-10-13 Tue 14:38] ** DONE shared library includes - State "DONE" [2009-12-08 Tue 14:39] ** TODO only/except/rename/prefix modifiers ** TODO scheme-complete.el support ** TODO access individual modules from repl * core modules ** TODO SRFI-0 cond-expand ** DONE SRFI-9 define-record-type - State "DONE" [2009-12-08 Tue 14:50] ** DONE SRFI-69 hash-tables - State "DONE" [2009-11-15 Sun 14:50] ** DONE match library - State "DONE" [2009-12-08 Tue 14:54] ** DONE loop library - State "DONE" [2009-12-08 Tue 14:54] ** TODO network interface ** TODO posix interface ** TODO pathname library ** TODO uri library ** TODO http library ** TODO show (formatting) library ** TODO zip library ** TODO tar library ** TODO md5sum library * ports ** DONE basic mingw support - State "DONE" [2009-06-22 Mon 14:36] ** DONE Plan 9 support - State "DONE" [2009-08-10 Mon 14:37] ** DONE 64-bit support - State "DONE" [2009-11-01 Sun 14:37] ** TODO iPhone support ** TODO bare-metal support * miscellaneous ** TODO overall cleanup ** TODO user documentation ** TODO thorough source documentation * distribution ** TODO packaging format ** TODO code repository with fetch+install tool ** TODO translator to/from other implementations