mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-20 14:19: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