mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-18 21:29:19 +02:00
187 lines
6.5 KiB
Org Mode
187 lines
6.5 KiB
Org Mode
-*- 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
|
|
API redesign in preparation complete, initial
|
|
tests on native factorial and closures working.
|
|
** TODO fasl/image files
|
|
sexp_copy_context() can form the basis for images,
|
|
FASL for arbitrary modules will need additional
|
|
help with resolving external references.
|
|
*** DONE optional image loading on startup
|
|
- State "DONE" from "TODO" [2011-11-10 Thu 20:44]
|
|
*** TODO static image compiled into library
|
|
With this you'll be able to run Chibi without any filesystem.
|
|
*** TODO external tool to compact and optimize images
|
|
The current GC is mark&sweep, which can cause fragmentation,
|
|
but we can at at least compact the initial fixed image.
|
|
*** TODO fasl versions of modules
|
|
Important for large applications, and fast loading of script
|
|
with many dependencies.
|
|
** 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
|
|
** DONE type inference with warnings
|
|
- State "DONE" from "TODO" [2010-09-21 Tue 23:18]
|
|
*** TODO structured type inference
|
|
*** DONE infer error branches
|
|
CLOSED: [2011-11-14 Mon 08:17]
|
|
*** TODO elide type checks from type information
|
|
|
|
* 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]
|
|
** DONE support weak references
|
|
- State "DONE" from "TODO" [2010-09-21 Tue 23:16]
|
|
*** TODO support proper weak key-value references
|
|
|
|
* runtime
|
|
** DONE bignums
|
|
- State "DONE" [2009-07-07 Tue 14:42]
|
|
** DONE unicode
|
|
- State "DONE" from "TODO" [2010-07-11 Sun 23:58]
|
|
Supported with UTF-8 strings, string-ref is O(n) and
|
|
string-set! may need to reallocate the whole string.
|
|
string-cursor-ref can be used for O(1) string access.
|
|
** DONE threads
|
|
- State "DONE" from "TODO" [2010-07-11 Sun 15:31]
|
|
VM now supports an optional hook for green threads,
|
|
and a SRFI-18 interface is provided as a separate module.
|
|
I/O operations will currently block all threads though,
|
|
this needs to be addressed.
|
|
*** DONE thread-local parameters
|
|
CLOSED: [2010-12-06 Mon 21:52]
|
|
*** TODO efficient priority queues
|
|
** 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]
|
|
** DONE network interface
|
|
- State "DONE" from "TODO" [2011-11-10 Thu 20:46]
|
|
** DONE posix interface
|
|
- State "DONE" from "TODO" [2010-07-11 Sun 15:36]
|
|
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]
|
|
** DONE iPhone support
|
|
- State "DONE" from "TODO" [2011-11-10 Thu 20:46]
|
|
** TODO bare-metal support
|
|
|
|
* miscellaneous
|
|
** DONE user documentation
|
|
- State "DONE" from "TODO" [2011-11-10 Thu 20:45]
|
|
** TODO full test suite for libraries
|
|
** TODO thorough source documentation
|
|
|
|
* distribution
|
|
** TODO packaging format (Snow2)
|
|
** TODO code repository with fetch+install tool
|
|
** TODO translator to/from other implementations
|
|
|