Fix typo.
[pspp-builds.git] / TODO
diff --git a/TODO b/TODO
index 2b06c1262544bbf276326f4fb43eb014ad7721b3..5a77a93081c5cea4cdfa01519bc237811d2f0f4f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,8 +1,36 @@
-Time-stamp: <2004-03-14 21:37:40 blp>
+Time-stamp: <2004-04-24 22:23:04 blp>
+
+What Ben's working on now.
+--------------------------
+
+Update q2c input format description.
+
+Rewrite output subsystem, break into multiple processes.
+
+CROSSTABS needs to be re-examined.
+
+RANK, which is needed for the Wilcoxon signed-rank statistic, Mann-Whitney U,
+Kruskal-Wallis on NPAR TESTS and for Spearman and the Johnkheere trend test (in
+other procedures).
 
 TODO
 ----
 
+Add compression to casefiles.
+
+Expressions need to be able to abbreviate function names.  XDATE.QUARTER
+abbreviates to XDA.QUA, etc.
+
+The expression tests need tests for XDATE and a few others, see
+tests/xforms/expressions.sh comments for details.
+
+Expressions need random distribution functions.
+
+There needs to be another layer onto the lexer, which should probably be
+entirely rewritten anyway.  The lexer needs to read entire *commands* at a
+time, not just a *line* at a time.  It also needs to support arbitrary putback,
+probably by just backing up the "current position" in the command buffer.
+
 Scratch variables should not be available for use following TEMPORARY.
 
 Details of N OF CASES, SAMPLE, FILTER, PROCESS IF, TEMPORARY, etc., need to be
@@ -14,10 +42,6 @@ strd.itl.nist.gov/div898/strd
 
 In debug mode hash table code should verify that collisions are reasonably low.
 
-Use posix_fadvise(POSIX_FADV_SEQUENTIAL) where available.
-
-random.c should not know about set_seed.
-
 Use AFM files instead of Groff font files, and include AFMs for our default
 fonts with the distribution.
 
@@ -73,11 +97,6 @@ Eliminate private data in struct variable through use of pointers.
 
 Fix som_columns().
 
-There needs to be another layer onto the lexer, which should probably be
-entirely rewritten anyway.  The lexer needs to read entire *commands* at a
-time, not just a *line* at a time.  This would vastly simplify the
-(yet-to-be-implemented) logging mechanism and other stuff as well.
-
 Has glob.c been pared down enough?
 
 Improve interactivity of output by allowing a `commit' function for a page.
@@ -347,15 +366,15 @@ For each case we read from the input program:
 3. Write case to replacement active file.
 4. Execute temporary transformations.  If these drop the case, stop.
 5. Post-TEMPORARY N OF CASES.  If we have already analyzed N cases, stop.
-6. FILTER, PROCESS IF.  If these drop the case, go to 5.
+6. FILTER, PROCESS IF.  If these drop the case, stop.
 7. Pass case to procedure.
 
 Ugly cases:
 
-LAG records cases in step 4.
+LAG records cases in step 3.
 
 AGGREGATE: When output goes to an external file, this is just an ordinary
-procedure.  When output goes to the active file, step 4 should be skipped,
+procedure.  When output goes to the active file, step 3 should be skipped,
 because AGGREGATE creates its own case sink and writes to it in step 7.  Also,
 TEMPORARY has no effect and we just cancel it.  Regardless of direction of
 output, we should not implement AGGREGATE through a transformation because that
@@ -373,7 +392,7 @@ FLIP:
 
 MATCH FILES: Similar to AGGREGATE.  This is a procedure.  When the active file
 is used for input, it reads the active file; otherwise, it just cancels all the
-transformations and deletes the original active file.  Step 4 should be
+transformations and deletes the original active file.  Step 3 should be
 skipped, because MATCH FILES creates its own case sink and writes to it in step
 7.  TEMPORARY is not allowed.