-Time-stamp: <2004-03-14 22:12:02 blp>
+Time-stamp: <2004-05-31 13:14:29 blp>
+
+What Ben's working on now.
+--------------------------
+
+Workspace exhaustion heuristics.
+
+Does SET work correctly?
+
+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
----
+Make valgrind --leak-check=yes --show-reachable=yes work.
+
+Add Boolean type.
+
+Add NOT_REACHED() macro.
+
+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
In debug mode hash table code should verify that collisions are reasonably low.
-Use posix_fadvise(POSIX_FADV_SEQUENTIAL) where available.
-
Use AFM files instead of Groff font files, and include AFMs for our default
fonts with the distribution.
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.
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: