converting TODO to org-mode, fleshing out

This commit is contained in:
Alex Shinn 2009-12-12 16:27:36 +09:00
parent 7a526b4f1a
commit 9539a2d9a2

175
TODO
View file

@ -1,52 +1,125 @@
* -*- outline -*- -*- 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
*+ precise gc rewrite
**+ fix heap growing
**+ separate gc heaps
**+ finalizers
**- weak references
*+ ast rewrite
*+ full r5rs
*+ closures
*+ string-ports
*+ argument validation
*+ variadic procedures
*+ call/cc
*+ exceptions
*+ tail-call elimination
*+ internal defines
*+ 1st class primitives
*+ macros
*+ hygiene
**- nested
**- compiler macros
*+ bignums
*= modules
**+ scheme48-like config language
**- only/except/rename modifiers
**- scheme-complete.el support
*= ffi
**+ libdl interface
**+ opcode generation interface
**= stub generator
*= cleanup
*- user documentation
*- unicode
*- condition-case
*- native x86 compilation
*+ plan 9 port
*= 9p support
*- optimization passes
**- constant folding
**- simplification pass, dead-code elimination
**- lambda lift
**- inlining
**- unsafe operations
**- plugin infrastructure
*- type inference with warnings
*- SRFI-0 cond-expand
*+ SRFI-9 define-record-type
*+ SRFI-69 hash-tables
*= net interface
*= posix interface
*- code repository with install tools