[svn commit] r440 - trunk

jimb at red-bean.com jimb at red-bean.com
Wed Apr 27 02:22:32 CDT 2005


Author: jimb
Date: Wed Apr 27 02:22:31 2005
New Revision: 440

Modified:
   trunk/TODO
Log:
Some rearrangement.


Modified: trunk/TODO
==============================================================================
--- trunk/TODO	(original)
+++ trunk/TODO	Wed Apr 27 02:22:31 2005
@@ -5,31 +5,25 @@
 
 * fix build warnings for numbers.c
 
-* Need tests for strings with embedded null characters.
-
-* Need test for mn_string_to_symbol.
+* Need tests for:
+  - mn_string_to_symbol
+  - mn_string_from_mem
+  - mn_procedure_name
+  - mn_port_clear_eof
 
 * Fix all unsigned / signed comparisons in gen-ints.sh
 
-* Move all forms of basic character execution set to test-lib.c,
-  along with a 'char_name' function; use in c-api-ports, c-api-characters,
-  and c-api-strings.
-
 
 ==== prd.txt item 3 (simple <minor/minor.h> C interfaces) finished
 
 * Re-prioritize to-do items.
 
-* For tests that don't actually communicate between threads, add
-  "torture test" that runs them in many threads over and over.  Then let
-  the regression tests run single-threaded (and faster!) by default.
+* Make sure all API functions follow abort policy.
 
 * Why use 'assert' when we have 'check'?
 
 * 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
@@ -56,20 +50,12 @@
 
 * Add 'process this file with automake' notes to all Makefile.am files
 
-* Rename 'configure.in' to 'configure.ac'; check on naming conventions
-for other files.
+* Rename 'configure.in' to 'configure.ac'; check on modern naming
+conventions for other files.
 
 * Fix uses of ` in source code:
 http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
 
-* Use linked lists in gc/tests/disjoint-types.c.
-
-* New test stress-pair.c: build random trees, trade pieces between
-threads, then replay whole process and check that the results are as
-we expected.  To make inter-thread trades reproducible, have each
-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
@@ -87,23 +73,20 @@
   functions themselves don't use it, and the non-historical
   explanation "p stands for 'predicate', see?" is obscure.)
 
-- ad_FOO for linear accessors
+- ad_FOO for functions that free all refs passed to them
 
 - Where Scheme has a variadic function 'foo', we define 'fooN' for the
   N-varying-argument version.
 
-* 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'
-would free *all* references passed as arguments; functions that freed
-only some of the refs would have quirky names, like mn_push, since
-it's the particular usage that tells you what pattern of freeing and
-non-freeing is useful.
+- mn_apply1 -> mn_call1 --- "apply" should be used for spreading a
+  list into an argument list, "funcall" seems unnecessarily non-English.
 
 * mn_pair_p, but mn_is_int???  mn__is_vector???
 
 * mn__pair_p, mn__fixnum_p, but mn__is_symbol, mn__is_vector?
 
+* mn_put_utf8, but mn_put_unicode?
+
 * Use size_t everywhere it's appropriate.
 
 * Should the arguments to mn_push be reversed?  They should be the
@@ -115,7 +98,8 @@
 
 * Should mn_ref and mn_call be mn_ref_t and mn_call_t?
 
-* Should mn_applyN be mn_funcallN?  mn_callN?
+* Should mn_applyN be mn_funcallN?  mn_callN?  Since Scheme doesn't have
+  a name for the function calling operation, 
 
 * rename 'gc' to runtime; fix multiple inclusion guards and other uses
 of _gc_ in identifiers
@@ -136,11 +120,6 @@
 c-api-procedures.c for the kind of torturous code this would
 alleviate.
 
-* Finish deciding which functions abort, and which functions return an
-exception.  Predictable rules for when to abort --- type errors and
-index range errors?  Aborts for violations of documented rules should
-produce error messages.
-
 * mn_from_char and mn_from_wchar aren't total, but there's no
 predicate the user can call to make sure they'll succeed.  Granted,
 Unicode ought to be able to handle whatever's there, but if the C
@@ -182,8 +161,26 @@
 
 ==== prd.txt item 8 ("Full R5RS, with modules and macros") finished
 
+* Move all forms of basic character execution set to test-lib.c,
+  along with a 'char_name' function; use in c-api-ports, c-api-characters,
+  and c-api-strings.
+
+* New test stress-pair.c: build random trees, trade pieces between
+threads, then replay whole process and check that the results are as
+we expected.  To make inter-thread trades reproducible, have each
+thread record the sequence of other threads it traded with, and then
+in the replay wait only for that thread.
+
+* For tests that don't actually communicate between threads, add
+  "torture test" that runs them in many threads over and over.  Then let
+  the regression tests run single-threaded (and faster!) by default.
+
+* Need tests for strings with embedded null characters.
+
 * generate per-type test functions in c-api-numbers.c with a shell script
 
+* Use linked lists in gc/tests/disjoint-types.c.
+
 * Are new ref groups too large?
 
 At the moment, we have chosen the size of a reference clump to be




More information about the Minor mailing list