[gforth] / gforth / ToDo  

gforth: gforth/ToDo


1 : anton 1.2 -*- outline -*-
2 : anton 1.1
3 : anton 1.2 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 :    
8 : anton 1.1 This an emacs outline. Use '*' to create topics.
9 :    
10 : jwilke 1.10 * "DOS" Distribution
11 :     eventually convert all text files LF -> CR LF
12 :     check on 8.3 filenames?!
13 :    
14 : anton 1.1 *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
18 : anton 1.2 configuration. I.e., on installation all combinations of options
19 :     should be measured and the fastest chosen. Knowing OS and architecture
20 : anton 1.4 is not enough, the best options depend more on the processor and the
21 : anton 1.2 compiler version.
22 : anton 1.1
23 :     * ANSI Forth
24 : anton 1.2 Add the remaining words
25 :    
26 : anton 1.1 *Run-time System
27 :     **Gender-independent image file format and loader
28 : anton 1.2 **Stack Checking using the MMU where the OS makes it possible.
29 : anton 1.1
30 :     *Porting/Portability
31 :     ** Machines/OSs
32 : anton 1.2 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.)
35 : anton 1.1 Windows
36 :     OS/2
37 :     Mac
38 :     Atari
39 :     Amiga
40 : anton 1.2 Use gcc-generated assembly on machines without gcc, but with
41 :     processors supported by gcc
42 : anton 1.1
43 :     *Foreign Language Interface
44 : anton 1.4 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,
47 : anton 1.1 **C
48 : anton 1.4 Stuart Ramsden is doing a bit here.
49 : anton 1.1 **FORTRAN
50 :     **C++
51 :    
52 :     *Windows and Graphics
53 : anton 1.2 **Ask Brian Dunn and Mike Hore for their OS-independent interface
54 :     **use the Foreign Language Interface to make X-Windows support
55 : anton 1.1
56 :     *Program Development Environment
57 :     Issues: Convenience, portability across plattforms, compatibility with
58 :     existing tools (Emacs, F-PC)
59 : anton 1.2 ** Decompiler and Debugger
60 :     need debugging
61 : anton 1.4 ** 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).
68 : anton 1.2 ** emacs support
69 :     can be improved
70 : anton 1.1 **prefix file generator
71 : anton 1.7 extend or complement ans-report.fs to provide Forth definitions for
72 :     the simple non-ANSI words.
73 : anton 1.2 ** 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
78 : anton 1.6 search order tricks etc. EVALUATE is a problem.
79 : anton 1.1
80 : crook 1.9 *Documentation (Neal Crook, nac@forth.org is working on this)
81 : anton 1.1 A texinfo file
82 : jwilke 1.10 add more about internals (c primitives, creation of engine, etc.)
83 : anton 1.1 **glossaries of all wordsets.
84 : anton 1.2 *** Inclusion of stack comments, glossary comments, and wordset comments
85 :     in all source files.
86 : anton 1.1
87 : anton 1.2 * Distribution and Announcements
88 : anton 1.1 ** Write articles for (general-purpose) magazines
89 : anton 1.11
90 :     -----
91 : anton 1.14 Copyright (C) 1995,1996,1997,1999,2003,2007 Free Software Foundation, Inc.
92 : anton 1.11
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 : anton 1.13 as published by the Free Software Foundation, either version 3
98 : anton 1.11 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 : anton 1.13 along with this program. If not, see http://www.gnu.org/licenses/.

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help