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>