[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