File:  [gforth] / gforth / ToDo
Revision 1.10: download - view: text, annotated - select for diffs
Mon May 7 12:04:44 2001 UTC (22 years, 10 months ago) by jwilke
Branches: MAIN
CVS tags: HEAD
new topics

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

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