Diff for /gforth/ToDo between versions 1.1 and 1.14

version 1.1, 1994/02/11 16:30:45 version 1.14, 2007/12/31 19:02:24
Line 1 Line 1
 This file describes all the things left to do on ANSI figForth. The  -*- outline -*-
 list is not complete, so you should add topics you miss or refine  
 existing topics. If you are working on a topic, add your name to the  This file describes all the things left to do on GNU Forth. The list
 right of the topic. If you have completed the work, remove the topic.  is not complete, so you should add topics you miss or refine existing
   topics. If you are working on a topic, add your name to the right of
   the topic. If you have completed the work, remove the topic.
   
 This an emacs outline. Use '*' to create topics.  This an emacs outline. Use '*' to create topics.
   
   * "DOS" Distribution
   eventually convert all text files LF -> CR LF
   check on 8.3 filenames?!
   
 *The Engine  *The Engine
 **measure the effect of some variations on different machines:  **measure the effect of some variations on different machines:
 direct/indirect, NEXT splitting, keeping the TOSses in variables  direct/indirect, NEXT splitting, keeping the TOSses in variables
 **make it easy to put the right variation for each processor into the  **make it easy to put the right variation for each processor into the
 configuration.  configuration. I.e., on installation all combinations of options
   should be measured and the fastest chosen. Knowing OS and architecture
   is not enough, the best options depend more on the processor and the
   compiler version.
   
 * ANSI Forth  * ANSI Forth
 **Core and Core Ext  Add the remaining words
 *** high-level words  
 **Other Word Sets  
   
 *Run-time System  *Run-time System
 **Gender-independent image file format and loader  **Gender-independent image file format and loader
 **Memory Management  **Stack Checking using the MMU where the OS makes it possible.
 **Stack Checking  
 On most systems we could use the MMU (OS dependent).  
   
 *Porting/Portability  *Porting/Portability
 ** Machines/OSs  ** Machines/OSs
 UNIX (all machines supported by gcc)  VMS (VAX,AXP)
 VMS (Vax)  DOS 8088 (16-bit or 32-bit? Note: there are no far pointers in gforth,
 DOS Extender, 386sx and up  so 16-bit means 64k max.)
 DOS 8088 (16-bit or 32-bit?)  
 Windows  Windows
 OS/2  OS/2
 Mac  Mac
 Atari  Atari
 Amiga  Amiga
 Use gcc-generated assembly on machines without gcc  Use gcc-generated assembly on machines without gcc, but with
   processors supported by gcc
 *Locals  
 **Concept  
 **Implementation  
   
 *Postponing     anton  
   
 *Foreign Language Interface  *Foreign Language Interface
 **Concept       anton  If anybody wants to do this, take a look at
   ftp://ftp.complang.tuwien.ac.at/pub/forth/foreign.ds
   Some of the problems are discussed there,
 **C  **C
   Stuart Ramsden is doing a bit here.
 **FORTRAN  **FORTRAN
 **C++  **C++
   
 *Windows and Graphics  *Windows and Graphics
 Ask Brian Dunn and Mike Hore for their OS-independent interface  **Ask Brian Dunn and Mike Hore for their OS-independent interface
   **use the Foreign Language Interface to make X-Windows support
   
 *Program Development Environment  *Program Development Environment
 Issues: Convenience, portability across plattforms, compatibility with  Issues: Convenience, portability across plattforms, compatibility with
 existing tools (Emacs, F-PC)  existing tools (Emacs, F-PC)
   ** Decompiler and Debugger
   need debugging
   ** Profiling
   The way this (and perhaps also debugging features) could work is this:
   On compilation all code fields are remembered somewhere (using a
   special hook like etags). If the user now decides to profile part of
   the code, the corresponding code fields are replaced by fields
   pointing to code that performs the measurement (or whatever else is
   intended).
   ** emacs support
   can be improved
 **prefix file generator  **prefix file generator
 A tool for generating a prefix file for a program that explains in  extend or complement ans-report.fs to provide Forth definitions for
 what way the program conforms to ANSI and contains Forth definitions  the simple non-ANSI words.
 for the simple non-ANSI words.  ** rightcase
   A tool that converts all uses of words in a source text to the exact
 *Object-Oriented Extensions  case of the definition. There's something like this out there on the
 John Hayes (?) has a portable package  net (Joerg Plewe has posted a reference), but I think a program that
 Ask Phil Burke (phil@ntg.com), if he wants to contribute ODE  wires itself into the compiler (like etags.fs) is harder to fool by
   search order tricks etc. EVALUATE is a problem.
   
 *Documentation  *Documentation (Neal Crook, nac@forth.org is working on this)
 A texinfo file  A texinfo file
   add more about internals (c primitives, creation of engine, etc.)
 **glossaries of all wordsets.  **glossaries of all wordsets.
 ***Tool to generate glossaries benschop  *** Inclusion of stack comments, glossary comments, and wordset comments
 ***Inclusion of glossary comments in all source files.  in all source files.
   
 *Distribution and Announcements  * Distribution and Announcements
 ** Ask the FSF, if they want to distribute it  
 ** Write articles for (general-purpose) magazines  ** Write articles for (general-purpose) magazines
   
   -----
   Copyright (C) 1995,1996,1997,1999,2003,2007 Free Software Foundation, Inc.
   
   This file is part of Gforth.
   
   Gforth is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License
   as published by the Free Software Foundation, either version 3
   of the License, or (at your option) any later version.
   
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.#See the
   GNU General Public License for more details.
   
   You should have received a copy of the GNU General Public License
   along with this program. If not, see http://www.gnu.org/licenses/.

Removed from v.1.1  
changed lines
  Added in v.1.14


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