File:  [gforth] / gforth / ToDo
Revision 1.2: download - view: text, annotated - select for diffs
Mon Oct 3 18:24:00 1994 UTC (29 years, 6 months ago) by anton
Branches: MAIN
CVS tags: HEAD
Updated ToDo and INSTALL; Wrote README; Lifted COPYING and getopt*
from other packages;  removed $Id$ lines from some files

    1: -*- outline -*-
    2: 
    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: 
    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
   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.
   18: 
   19: * ANSI Forth
   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.
   25: 
   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.
   32: 
   33: *Porting/Portability
   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.)
   38: Windows
   39: OS/2
   40: Mac
   41: Atari
   42: Amiga
   43: Use gcc-generated assembly on machines without gcc, but with
   44: processors supported by gcc
   45: 
   46: *Foreign Language Interface
   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.
   50: **C
   51: **FORTRAN
   52: **C++
   53: 
   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
   57: 
   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
   63: **readline
   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.
   77: 
   78: *Object-Oriented Extensions
   79: John Hayes has a portable package
   80: 
   81: *Documentation
   82: A texinfo file
   83: 
   84: **glossaries of all wordsets.
   85: *** Inclusion of stack comments, glossary comments, and wordset comments
   86: in all source files.
   87: 
   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

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