1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
==============================================================================
High priority tasks:
* (0.9) Efficient macro
- Fix infinite loop on test-srfi1-another.scm
- Introduce compilation phase (see "Macros" subsection of spec.txt)
- Make macro expansion performed on compilation phase
- Make runtime syntax sugars interpretation into macro expansions on
compilation phase (such as internal definition or implicit lambda on
define)
- Validate as production quality
* (0.9) Provide a record type
- Evaluate SRFI-9 and R6RS records
* (0.9) Introduce a standard unit testing framework
- SRFI-64 "A Scheme API for test suites"
* grep "FIXME" and fix them
==============================================================================
Low priority bugs:
* fileport_byte_readyp() does not support a FILE based on a pipe, or opened by
fdopen(3)
==============================================================================
Extensions: (not required for now)
* Dynamically loadable binary module which allows user-written procedure
* Complete SLIB support
- Resolve the conflict of 'require' and 'provided?' with SigScheme
- Make the slib.scm installable
- Fill some variables with configure (slib.scm.in)
* Make Symbian OS and BREW support working (patches are welcome)
* Implement numbers other than integer
- Define SAL accessors considering SRFI-50 and other implementations
- Evaluate R6RS Arithmetic
* Add ISO-2022-JP support to encoding.[hc] and scmport-mbchar.c. It requires
encoding API fix on int2str() which lacks post-write state update
* Add GB18030 to encoding.c
* Add Big5 to encoding.c
==============================================================================
Performance improvements:
* %%identity-hash, %%string-hash, %%symbol-hash, %%string-ci-hash for SRFI-69
* (not required for now) Introduce SCM_QNULL for (quote ()) to reduce cons cell
consumption, and support shortcuts for it in read.c and eval.c
* (not required for now) Simplify read.c by table-based tokenizer
* (not required for now) Support string of constant-width char
- Define SigScheme's own internal multi-CCS code
- Make UCS2 selectable as canonical internal code
==============================================================================
Properness improvements: (not required for now)
* Import http://sisc.sourceforge.net/r5rs_pitfall.scm
- Fix hygienic-macro incapability of module_srfi34.c to catch errors into
a failed result in the 'should-be' macro
* Support R6RS style symbol escaping such as |-sym|
* Reorganize unit test for C
- Remove GNU sed dependency of test-c/collect.sh.in
- Separate SigScheme-dependent part and generic part of test-c, and
generalize the unit testing utils as usable for uim
- Name 'the testing utils'
==============================================================================
Logical simplifications:
* Remove valuecons to increase simplicity
* Remove the concept 'freecell' from SAL (turn it into ordinary list with
freecell maker)
* Remove the concept 'ScmCell' from sigscheme.h
* Add SCM_TYPESAFE_MACRO for all I?SAL macros
* (not required for now) Encode argument type information into ScmFuncTypeCode
to remove ENSURE_*() from each procedure implementation
* (not required for now) Reorganize list (argument) extraction API
* (not required for now) Reorganize encoding and char codec API
==============================================================================
Namings and Cosmetic things:
* Consider renaming about typenames (e.g. ScmObj -> scm_obj)
* Rename STL names (string, list) to another such as str, lst
* Define the coding style for indent(1) and reform *.[ch] by it
* [uim] Rename uim-scm.c to uim-scm-sigscheme.c (after the merger)
==============================================================================
|