-Time-stamp: <2004-03-24 19:52:48 blp>
+Time-stamp: <2004-05-31 13:14:29 blp>
What Ben's working on now.
--------------------------
-Expression parser/optimizer/evaluator revisions:
+Workspace exhaustion heuristics.
- * Testing.
-
- * Add random distributions.
-
- * Get rid of Boolean/integer type mismatch errors.
-
-Procedures need to be able to make multiple passes.
-
-Write a better descriptive stats evaluator based on NR two-pass technique,
-revise all existing code to use it.
+Does SET work correctly?
Update q2c input format description.
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,
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.
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: