Annotation of gforth/ToDo, revision 1.12
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:
1.10 jwilke 10: * "DOS" Distribution
11: eventually convert all text files LF -> CR LF
12: check on 8.3 filenames?!
13:
1.1 anton 14: *The Engine
15: **measure the effect of some variations on different machines:
16: direct/indirect, NEXT splitting, keeping the TOSses in variables
17: **make it easy to put the right variation for each processor into the
1.2 anton 18: configuration. I.e., on installation all combinations of options
19: should be measured and the fastest chosen. Knowing OS and architecture
1.4 anton 20: is not enough, the best options depend more on the processor and the
1.2 anton 21: compiler version.
1.1 anton 22:
23: * ANSI Forth
1.2 anton 24: Add the remaining words
25:
1.1 anton 26: *Run-time System
27: **Gender-independent image file format and loader
1.2 anton 28: **Stack Checking using the MMU where the OS makes it possible.
1.1 anton 29:
30: *Porting/Portability
31: ** Machines/OSs
1.2 anton 32: VMS (VAX,AXP)
33: DOS 8088 (16-bit or 32-bit? Note: there are no far pointers in gforth,
34: so 16-bit means 64k max.)
1.1 anton 35: Windows
36: OS/2
37: Mac
38: Atari
39: Amiga
1.2 anton 40: Use gcc-generated assembly on machines without gcc, but with
41: processors supported by gcc
1.1 anton 42:
43: *Foreign Language Interface
1.4 anton 44: If anybody wants to do this, take a look at
45: ftp://ftp.complang.tuwien.ac.at/pub/forth/foreign.ds
46: Some of the problems are discussed there,
1.1 anton 47: **C
1.4 anton 48: Stuart Ramsden is doing a bit here.
1.1 anton 49: **FORTRAN
50: **C++
51:
52: *Windows and Graphics
1.2 anton 53: **Ask Brian Dunn and Mike Hore for their OS-independent interface
54: **use the Foreign Language Interface to make X-Windows support
1.1 anton 55:
56: *Program Development Environment
57: Issues: Convenience, portability across plattforms, compatibility with
58: existing tools (Emacs, F-PC)
1.2 anton 59: ** Decompiler and Debugger
60: need debugging
1.4 anton 61: ** Profiling
62: The way this (and perhaps also debugging features) could work is this:
63: On compilation all code fields are remembered somewhere (using a
64: special hook like etags). If the user now decides to profile part of
65: the code, the corresponding code fields are replaced by fields
66: pointing to code that performs the measurement (or whatever else is
67: intended).
1.2 anton 68: ** emacs support
69: can be improved
1.1 anton 70: **prefix file generator
1.7 anton 71: extend or complement ans-report.fs to provide Forth definitions for
72: the simple non-ANSI words.
1.2 anton 73: ** rightcase
74: A tool that converts all uses of words in a source text to the exact
75: case of the definition. There's something like this out there on the
76: net (Joerg Plewe has posted a reference), but I think a program that
77: wires itself into the compiler (like etags.fs) is harder to fool by
1.6 anton 78: search order tricks etc. EVALUATE is a problem.
1.1 anton 79:
1.9 crook 80: *Documentation (Neal Crook, nac@forth.org is working on this)
1.1 anton 81: A texinfo file
1.10 jwilke 82: add more about internals (c primitives, creation of engine, etc.)
1.1 anton 83: **glossaries of all wordsets.
1.2 anton 84: *** Inclusion of stack comments, glossary comments, and wordset comments
85: in all source files.
1.1 anton 86:
1.2 anton 87: * Distribution and Announcements
1.1 anton 88: ** Write articles for (general-purpose) magazines
1.11 anton 89:
90: -----
1.12 ! anton 91: Copyright (C) 1995,1996,1997,1999,2003 Free Software Foundation, Inc.
1.11 anton 92:
93: This file is part of Gforth.
94:
95: Gforth is free software; you can redistribute it and/or
96: modify it under the terms of the GNU General Public License
97: as published by the Free Software Foundation; either version 2
98: of the License, or (at your option) any later version.
99:
100: This program is distributed in the hope that it will be useful,
101: but WITHOUT ANY WARRANTY; without even the implied warranty of
102: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.#See the
103: GNU General Public License for more details.
104:
105: You should have received a copy of the GNU General Public License
106: along with this program; if not, write to the Free Software
107: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>