-*- 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 ** DONE shared stack on EVAL - State "DONE" [2009-12-26 Sat 08:22] * compiler optimizations ** DONE constant folding - State "DONE" [2009-12-16 Wed 23:25] ** DONE simplification pass, dead-code elimination - State "DONE" [2009-12-18 Fri 14:14] 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 warnings * 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] ** DONE SRFI-46 basic syntax-rules extensions - State "DONE" [2009-12-26 Sat 07:59] ** DONE (... ...) support - State "DONE" [2009-12-26 Sat 02:06] ** TODO compiler macros ** 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 ** DONE virtual ports - State "DONE" [2010-01-02 Sat 20:12] ** DONE dynamic-wind - State "DONE" [2009-12-26 Sat 01:51] Adapted a version from Scheme48. ** DONE recursive disasm - State "DONE" [2009-12-18 Fri 14:15] * FFI ** DONE libdl support - State "DONE" [2009-12-08 Tue 14:45] ** DONE opcode generation interface - State "DONE" [2009-11-15 Sun 14:45] ** DONE stub generator - State "DONE" [2009-12-26 Sat 01:50] *** DONE define-c-struct - State "DONE" [2009-11-29 Sun 14:48] *** DONE define-c - State "DONE" [2009-11-29 Sun 14:48] *** DONE array return types - State "DONE" [2009-12-26 Sat 01:49] *** DONE pre-buffered string types (like getcwd) - State "DONE" [2009-12-26 Sat 01:49] * 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] ** DONE only/except/rename/prefix modifiers - State "DONE" [2009-12-16 Wed 18:57] ** TODO scheme-complete.el support ** DONE access individual modules from repl - State "DONE" [2009-12-26 Sat 01:49] * core modules ** DONE SRFI-0 cond-expand - State "DONE" [2009-12-16 Wed 20:12] ** 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 Splitting this into several parts. *** DONE filesystem interface - State "DONE" [2009-12-26 Sat 01:50] *** DONE process interface - State "DONE" [2009-12-26 Sat 01:50] *** DONE time interface - State "DONE" [2009-12-26 Sat 01:50] *** DONE host system interface - State "DONE" [2010-01-02 Sat 20:12] ** DONE pathname library - State "DONE" [2009-12-16 Wed 18:58] ** DONE uri library - State "DONE" [2009-12-16 Wed 18:58] ** 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 ** TODO full test suite for libraries * distribution ** TODO packaging format ** TODO code repository with fetch+install tool ** TODO translator to/from other implementations