mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-20 06:09:18 +02:00
converting TODO to org-mode, fleshing out
This commit is contained in:
parent
7a526b4f1a
commit
9539a2d9a2
1 changed files with 124 additions and 51 deletions
175
TODO
175
TODO
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue