File:  [gforth] / gforth / ToDo
Revision 1.7: download - view: text, annotated - select for diffs
Mon Nov 11 16:59:15 1996 UTC (24 years, 11 months ago) by anton
Branches: MAIN
CVS tags: v0-3-0, v0-2-1, v0-2-0, HEAD
Added ans-report.fs objects.fs

    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 options depend more on the processor and the
   17: compiler version.
   18: 
   19: * ANSI Forth
   20: Add the remaining words
   21: 
   22: *Run-time System
   23: **Gender-independent image file format and loader
   24: **Stack Checking using the MMU where the OS makes it possible.
   25: 
   26: *Porting/Portability
   27: ** Machines/OSs
   28: VMS (VAX,AXP)
   29: DOS 8088 (16-bit or 32-bit? Note: there are no far pointers in gforth,
   30: so 16-bit means 64k max.)
   31: Windows
   32: OS/2
   33: Mac
   34: Atari
   35: Amiga
   36: Use gcc-generated assembly on machines without gcc, but with
   37: processors supported by gcc
   38: 
   39: *Foreign Language Interface
   40: If anybody wants to do this, take a look at
   41: ftp://ftp.complang.tuwien.ac.at/pub/forth/foreign.ds
   42: Some of the problems are discussed there,
   43: **C
   44: Stuart Ramsden is doing a bit here.
   45: **FORTRAN
   46: **C++
   47: 
   48: *Windows and Graphics
   49: **Ask Brian Dunn and Mike Hore for their OS-independent interface
   50: **use the Foreign Language Interface to make X-Windows support
   51: 
   52: *Program Development Environment
   53: Issues: Convenience, portability across plattforms, compatibility with
   54: existing tools (Emacs, F-PC)
   55: ** Decompiler and Debugger
   56: need debugging
   57: ** Profiling
   58: The way this (and perhaps also debugging features) could work is this:
   59: On compilation all code fields are remembered somewhere (using a
   60: special hook like etags). If the user now decides to profile part of
   61: the code, the corresponding code fields are replaced by fields
   62: pointing to code that performs the measurement (or whatever else is
   63: intended).
   64: ** emacs support
   65: can be improved
   66: **prefix file generator
   67: extend or complement ans-report.fs to provide Forth definitions for
   68: the simple non-ANSI words.
   69: ** rightcase
   70: A tool that converts all uses of words in a source text to the exact
   71: case of the definition. There's something like this out there on the
   72: net (Joerg Plewe has posted a reference), but I think a program that
   73: wires itself into the compiler (like etags.fs) is harder to fool by
   74: search order tricks etc. EVALUATE is a problem.
   75: 
   76: *Object-Oriented Extensions
   77: John Hayes has a portable package
   78: 
   79: *Documentation
   80: A texinfo file
   81: **glossaries of all wordsets.
   82: *** Inclusion of stack comments, glossary comments, and wordset comments
   83: in all source files.
   84: 
   85: * Distribution and Announcements
   86: ** Write articles for (general-purpose) magazines

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