Annotation of gforth/ToDo, revision 1.2

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.
        !             7: 
1.1       anton       8: This an emacs outline. Use '*' to create topics.
                      9: 
                     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
        !            16: is not enough, the best otions depend more on the processor and the
        !            17: compiler version.
1.1       anton      18: 
                     19: * ANSI Forth
1.2     ! anton      20: Add the remaining words
        !            21: 
        !            22: * Configuration
        !            23: We should have a config script so people don't need to edit the
        !            24: Makefile etc.
1.1       anton      25: 
                     26: *Run-time System
1.2     ! anton      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
1.1       anton      30: **Gender-independent image file format and loader
1.2     ! anton      31: **Stack Checking using the MMU where the OS makes it possible.
1.1       anton      32: 
                     33: *Porting/Portability
                     34: ** Machines/OSs
1.2     ! anton      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.)
1.1       anton      38: Windows
                     39: OS/2
                     40: Mac
                     41: Atari
                     42: Amiga
1.2     ! anton      43: Use gcc-generated assembly on machines without gcc, but with
        !            44: processors supported by gcc
1.1       anton      45: 
                     46: *Foreign Language Interface
1.2     ! anton      47: If anybody wants to do this, mail me
        !            48: (anton@mips.complang.tuwien.ac.at). I have given some thought to this
        !            49: and will type in my notes if you are interested.
1.1       anton      50: **C
                     51: **FORTRAN
                     52: **C++
                     53: 
                     54: *Windows and Graphics
1.2     ! anton      55: **Ask Brian Dunn and Mike Hore for their OS-independent interface
        !            56: **use the Foreign Language Interface to make X-Windows support
1.1       anton      57: 
                     58: *Program Development Environment
                     59: Issues: Convenience, portability across plattforms, compatibility with
                     60: existing tools (Emacs, F-PC)
1.2     ! anton      61: ** Decompiler and Debugger
        !            62: need debugging
        !            63: **readline
        !            64: Use the GNU readline package for convenient line editing
        !            65: ** emacs support
        !            66: can be improved
1.1       anton      67: **prefix file generator
                     68: A tool for generating a prefix file for a program that explains in
1.2     ! anton      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.
1.1       anton      77: 
                     78: *Object-Oriented Extensions
1.2     ! anton      79: John Hayes has a portable package
1.1       anton      80: 
                     81: *Documentation
                     82: A texinfo file
1.2     ! anton      83: 
1.1       anton      84: **glossaries of all wordsets.
1.2     ! anton      85: *** Inclusion of stack comments, glossary comments, and wordset comments
        !            86: in all source files.
1.1       anton      87: 
1.2     ! anton      88: * Distribution and Announcements
        !            89: ** add copyright notices to all the source files
        !            90: ** add a package target to the Makefile
1.1       anton      91: ** Write articles for (general-purpose) magazines

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>