Annotation of gforth/ToDo, revision 1.9
1.2 anton 1: -*- outline -*-
1.1 anton 2:
1.2 anton 3: This file describes all the things left to do on GNU Forth. The list
4: is not complete, so you should add topics you miss or refine existing
5: topics. If you are working on a topic, add your name to the right of
6: the topic. If you have completed the work, remove the topic.
1.1 anton 8: This an emacs outline. Use '*' to create topics.
10: *The Engine
11: **measure the effect of some variations on different machines:
12: direct/indirect, NEXT splitting, keeping the TOSses in variables
13: **make it easy to put the right variation for each processor into the
1.2 anton 14: configuration. I.e., on installation all combinations of options
15: should be measured and the fastest chosen. Knowing OS and architecture
1.4 anton 16: is not enough, the best options depend more on the processor and the
1.2 anton 17: compiler version.
1.1 anton 18:
19: * ANSI Forth
1.2 anton 20: Add the remaining words
1.1 anton 22: *Run-time System
23: **Gender-independent image file format and loader
1.2 anton 24: **Stack Checking using the MMU where the OS makes it possible.
1.1 anton 25:
27: ** Machines/OSs
1.2 anton 28: VMS (VAX,AXP)
29: DOS 8088 (16-bit or 32-bit? Note: there are no far pointers in gforth,
30: so 16-bit means 64k max.)
1.1 anton 31: Windows
1.2 anton 36: Use gcc-generated assembly on machines without gcc, but with
37: processors supported by gcc
1.1 anton 38:
39: *Foreign Language Interface
1.4 anton 40: If anybody wants to do this, take a look at
42: Some of the problems are discussed there,
1.1 anton 43: **C
1.4 anton 44: Stuart Ramsden is doing a bit here.
1.1 anton 45: **FORTRAN
48: *Windows and Graphics
1.2 anton 49: **Ask Brian Dunn and Mike Hore for their OS-independent interface
50: **use the Foreign Language Interface to make X-Windows support
1.1 anton 51:
52: *Program Development Environment
53: Issues: Convenience, portability across plattforms, compatibility with
54: existing tools (Emacs, F-PC)
1.2 anton 55: ** Decompiler and Debugger
56: need debugging
1.4 anton 57: ** Profiling
58: The way this (and perhaps also debugging features) could work is this:
59: On compilation all code fields are remembered somewhere (using a
60: special hook like etags). If the user now decides to profile part of
61: the code, the corresponding code fields are replaced by fields
62: pointing to code that performs the measurement (or whatever else is
1.2 anton 64: ** emacs support
65: can be improved
1.1 anton 66: **prefix file generator
1.7 anton 67: extend or complement ans-report.fs to provide Forth definitions for
68: the simple non-ANSI words.
1.2 anton 69: ** rightcase
70: A tool that converts all uses of words in a source text to the exact
71: case of the definition. There's something like this out there on the
72: net (Joerg Plewe has posted a reference), but I think a program that
73: wires itself into the compiler (like etags.fs) is harder to fool by
1.6 anton 74: search order tricks etc. EVALUATE is a problem.
1.1 anton 75:
1.9 ! crook 76: *Documentation (Neal Crook, email@example.com is working on this)
1.1 anton 77: A texinfo file
78: **glossaries of all wordsets.
1.2 anton 79: *** Inclusion of stack comments, glossary comments, and wordset comments
80: in all source files.
1.1 anton 81:
1.2 anton 82: * Distribution and Announcements
1.1 anton 83: ** Write articles for (general-purpose) magazines