1: -*- outline -*-
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.
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
14: configuration. I.e., on installation all combinations of options
15: should be measured and the fastest chosen. Knowing OS and architecture
16: is not enough, the best otions depend more on the processor and the
17: compiler version.
19: * ANSI Forth
20: Add the remaining words
22: * Configuration
23: We should have a config script so people don't need to edit the
24: Makefile etc.
26: *Run-time System
27: **startup.fs takes too long to load.
28: Make the compiler much faster (hardly possible) or provide some way to
29: make an image that includes everything loaded by startup.fs
30: **Gender-independent image file format and loader
31: **Stack Checking using the MMU where the OS makes it possible.
34: ** Machines/OSs
35: VMS (VAX,AXP)
36: DOS 8088 (16-bit or 32-bit? Note: there are no far pointers in gforth,
37: so 16-bit means 64k max.)
43: Use gcc-generated assembly on machines without gcc, but with
44: processors supported by gcc
46: *Foreign Language Interface
47: If anybody wants to do this, mail me
48: (email@example.com). I have given some thought to this
49: and will type in my notes if you are interested.
54: *Windows and Graphics
55: **Ask Brian Dunn and Mike Hore for their OS-independent interface
56: **use the Foreign Language Interface to make X-Windows support
58: *Program Development Environment
59: Issues: Convenience, portability across plattforms, compatibility with
60: existing tools (Emacs, F-PC)
61: ** Decompiler and Debugger
62: need debugging
64: Use the GNU readline package for convenient line editing
65: ** emacs support
66: can be improved
67: **prefix file generator
68: A tool for generating a prefix file for a program that explains in
69: what way the program conforms to ANSI (i.e., which wordsets are used)
70: and contains Forth definitions for the simple non-ANSI words.
71: ** rightcase
72: A tool that converts all uses of words in a source text to the exact
73: case of the definition. There's something like this out there on the
74: net (Joerg Plewe has posted a reference), but I think a program that
75: wires itself into the compiler (like etags.fs) is harder to fool by
76: search order tricks etc.
78: *Object-Oriented Extensions
79: John Hayes has a portable package
82: A texinfo file
84: **glossaries of all wordsets.
85: *** Inclusion of stack comments, glossary comments, and wordset comments
86: in all source files.
88: * Distribution and Announcements
89: ** add copyright notices to all the source files
90: ** add a package target to the Makefile
91: ** Write articles for (general-purpose) magazines