[svn commit] r409 - trunk
jimb at red-bean.com
jimb at red-bean.com
Tue Mar 22 15:23:14 CST 2005
Author: jimb
Date: Tue Mar 22 15:23:13 2005
New Revision: 409
Modified:
trunk/TODO
Log:
Add more TODO items.
Modified: trunk/TODO
==============================================================================
--- trunk/TODO (original)
+++ trunk/TODO Tue Mar 22 15:23:13 2005
@@ -2,16 +2,44 @@
* implement port tests
+ - test parsing every possible sort of token directly concatenated
+ with every other possible sort
+
+ - test parsing numbers at extremes of fixnum range
+
* fix build warnings for numbers.c
* still need tests for unsigned C API functions
+* Need tests for strings with embedded null characters.
+
+
==== prd.txt item 3 (simple <minor/minor.h> C interfaces) finished
+* Re-prioritize to-do items.
+
* tests for unicode-case.c
* sketch new character set conversion interface; see how well we can do
+* Set up automatic mirroring of Unicode data files on alligator.
+
+* Set up process to do nightly check out / make dist / unpack
+ / build { in source tree, in separate tree }
+
+* Update unicode-data files in Minor source tree.
+
+* Implement better Unicode case insensitivity in reader.
+
+* Rename 'struct string' members 'size' and 'length' to 'byte_size'
+and 'char_length'.
+
+* Should mn_get_utf8 and mn_put_utf8 return a count of code units
+ consumed, instead of a new pointer? Should they take a pointer by
+ reference? (GCC's manual says it will never place a variable in a
+ register if its address is taken.) Try changing the callers first,
+ and see how they look.
+
* Add 'process this file with automake' notes to all Makefile.am files
* Rename 'configure.in' to 'configure.ac'; check on naming conventions
@@ -20,8 +48,6 @@
* Fix uses of ` in source code:
http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-* Need tests for strings with embedded null characters.
-
* Use linked lists in gc/tests/disjoint-types.c.
* New test stress-pair.c: build random trees, trade pieces between
@@ -30,6 +56,22 @@
thread record the sequence of other threads it traded with, and then
in the replay wait only for that thread.
+* Document naming conventions somewhere:
+
+- 'str', 'mem', 'mbs', 'wcs', and type names as used in ISO C for
+ <limits.h> _MIN/_MAX macros
+
+- 'string', 'number', etc. for Scheme types
+
+- 'utf8', 'uni' for Unicode utf8 strings and code points, uni_cat for
+ general categories, uni_cat_set for category sets
+
+- TYPE_to_TYPE for all conversion functions
+
+- QUALITY_p for all predicates, or is_QUALITY for all predicates
+
+- ad_FOO for linear accessors
+
* Choose a better convention than 'to' for linear functions.
mn_to_cons and mn_to_int look parallel, but aren't. How about 'ad':
Latin for 'to', like "ad astra": "to the stars". Functions with 'ad'
@@ -96,13 +138,16 @@
distinctive #{used freed reference} value. That value could be caught
by dynamic type checks, and would look funny if printed.
+
==== prd.txt item 4 ("define Core Scheme") finished
* The hash table should be its own type, and the symbol table just one
application of it.
+
==== prd.txt item 6 ("implement Core Scheme") finished
+
==== prd.txt item 7 ("Macro expander") finished
* It might be nice to eliminate the use of mn__per_thread from this
@@ -110,6 +155,7 @@
* Use cancellation, not a thread-specific value destructor.
+
==== prd.txt item 8 ("Full R5RS, with modules and macros") finished
* generate per-type test functions in c-api-numbers.c with a shell script
@@ -145,8 +191,9 @@
constant displacement in an addressing mode to access cars and cdrs;
you'll really have to mask things off. Get over it.
-* Labels for built-in types should be statically allocated and
-initialized, and placed in the immortal generation.
+* Labels for built-in types and symbols constructed at initialization
+should be statically allocated and initialized, and placed in the
+immortal generation.
* Mirage GC map nodes should be statically allocated and initialized.
More information about the Minor
mailing list