215 lines
6.6 KiB
Plaintext
215 lines
6.6 KiB
Plaintext
GNU Task List last updated 14 Oct 90
|
|
|
|
Check with gnu@prep.ai.mit.edu, for a possibly more current copy.
|
|
|
|
If you start working steadily on a project, please let gnu@prep know.
|
|
We might have information that could help you; we'd also like to send
|
|
you the GNU coding standards.
|
|
|
|
0. Documentation
|
|
|
|
We very urgently need documentation for some parts of the system
|
|
that already exist or will exist very soon:
|
|
|
|
A C reference manual.
|
|
(RMS has written half of one which you could start with).
|
|
|
|
A manual for Ghostscript.
|
|
|
|
Manuals for SH and CSH.
|
|
|
|
Manuals for how to use the system calls and libraries.
|
|
|
|
A DIFF manual (not as hard as the others).
|
|
|
|
A LEX manual.
|
|
|
|
A book on how GCC works and why various machine descriptions
|
|
are written as they are.
|
|
|
|
A manual for programming X-window applications.
|
|
|
|
Manuals for various X window managers.
|
|
|
|
Reference cards for various programs.
|
|
|
|
Utilities needing separate documentation include diff, grep, cpio,
|
|
less, life, nl, pr, cut and paste, script, patch, prmail, touch, file,
|
|
find, uuencode and uudecode.
|
|
|
|
1. imitations of standard parts of Unix:
|
|
|
|
csplit, sdiff, mailx (System V), join
|
|
|
|
Less urgent: calendar, diction, explain, plot, style.
|
|
|
|
An improved version of the POSIX utility `pax'. There is one on the
|
|
usenet, but it is said to be poorly written.
|
|
|
|
Add the System V features to Berkeley curses.
|
|
|
|
Macro packages and auxiliary programs for troff. The ones we need are
|
|
the mm and ms macros, and the programs grap and refer. All the rest
|
|
is done.
|
|
|
|
Add a data-base feature to `find' to make it faster.
|
|
|
|
A tool to examine a C source file and produce a list of `indent'
|
|
options which describe the style of indentation in use.
|
|
|
|
Write sin, cos, exp, log, arctan and bessel functions for bc.
|
|
Implement large radices (> 16) for bc.
|
|
|
|
Cross-reference program for C programs
|
|
(like cxref, etc.)
|
|
|
|
Various other libraries.
|
|
|
|
2. Kernel projects:
|
|
|
|
Whether we use TRIX or MACH, in either case a new implementation
|
|
of TCP/IP must be written, and a new disk file system.
|
|
(Actually, this may no longer be necessary, since BSD's TCP/IP
|
|
may be declared free, and perhaps the file system from Sprite may
|
|
be usable.)
|
|
|
|
An over-the-ethernet debugger that will allow the kernel to be
|
|
debugged from GDB running on another machine.
|
|
|
|
A shared memory X11 server to run under MACH or TRIX is very
|
|
desirable. The machine specific parts should be kept well separated.
|
|
|
|
3. Extensions to existing GNU software.
|
|
|
|
Extend GNU Emacs to do desktop publishing. (Talk to us about this).
|
|
|
|
Extend GDB with a C interpreter so the user can change the program
|
|
during a debugging session. Some parts of this are being worked on.
|
|
|
|
Extend GDB to handle other languages than C.
|
|
|
|
Extend the linker to combine multiple appearances of the same header file,
|
|
as Sun's linker does.
|
|
|
|
Enhance GCC. See files PROJECTS and PROBLEMS in the GCC distribution.
|
|
|
|
Add a few features to GNU diff: such as handling large input files
|
|
without reading entire files into core.
|
|
|
|
An nroff macro package to replace texi2roff.
|
|
|
|
Finish implementation of TECO in GNU Emacs Lisp, for short throw-away programs.
|
|
|
|
Extend gprof to handle basic-block profiling, a la tcov.
|
|
|
|
4. Other random projects:
|
|
(If you think of others that should be added, please
|
|
send them to gnu@prep.ai.mit.edu.)
|
|
|
|
A program to convert Postscript to plain ASCII text. This won't be
|
|
too hard if you don't worry pedantically about how the output text
|
|
should be formatted. If you can get paragraph boundaries right,
|
|
discard page headers and footers, and put chapter and section headings
|
|
on separate lines, the output should be good enough.
|
|
|
|
An imitation of Page Maker or Ventura Publisher.
|
|
|
|
An imitation of dbase2 or dbase3 (How dbased!)
|
|
|
|
Draw programs for the X window system.
|
|
|
|
Font editor for the X window system (if it doesn't already have one).
|
|
|
|
An X window interface for Metafont.
|
|
|
|
An emulator for Macintosh graphics calls on top of X Windows.
|
|
|
|
A music playing and editing system.
|
|
|
|
A program to edit dance notation (such as labanotation)
|
|
and display dancers moving on the screen.
|
|
|
|
A tool for beginners to read and send mail with.
|
|
It should not have a lot of features, but needs a very
|
|
clean window-and-buttons user interface.
|
|
|
|
A general ledger program.
|
|
|
|
A program to typeset C code for printing.
|
|
For ideas on what to do, see the forthcoming book,
|
|
Human Factors and Typography for More Readable Programs,
|
|
Ronald M. Baecker and Aaron Marcus,
|
|
Addison-Wesley, ISBN 0-201-10745-7
|
|
(I don't quite agree with a few of the details they propose.)
|
|
|
|
Speech-generation programs (a project is forming for this).
|
|
|
|
Speech-recognition programs (single-speaker, disconnected speech).
|
|
|
|
Scientific mathematical subroutines, including clones of SPSS.
|
|
|
|
Statistical tools.
|
|
|
|
Software to replace card catalogues in libraries.
|
|
|
|
Grammar and style checking programs.
|
|
|
|
An APL system.
|
|
|
|
A Common Lisp system. (The beginnings of one may be available from MIT
|
|
or CMU.)
|
|
|
|
An implementation of the S language.
|
|
|
|
A translator from Scheme to C.
|
|
|
|
Optical character scanning programs; especially if suitable for scanning
|
|
documents with multiple fonts and capturing font info as well as character
|
|
codes. It may not be very difficult if you let it "train" on part
|
|
of the individual document to be scanned, so as to learn what fonts are
|
|
in use in that document.
|
|
|
|
A program to scan a line drawing and convert it to Postscript.
|
|
|
|
CAD software, such as a vague imitation of Autocad.
|
|
|
|
A ghostscript to fax program, so that documents can be sent to
|
|
remote fax machines.
|
|
|
|
Enhance the X back-end for ghostscript.
|
|
|
|
A program to display and edit Hypercard stacks.
|
|
|
|
An interface-builder program to make it easy to design graphical
|
|
interfaces for applications.
|
|
|
|
A desktop program with icons and such, for X-windows.
|
|
|
|
Note that graphics programs should be written to work with the X
|
|
window system, a free portable window system from MIT and DEC that we
|
|
will be using as the window system for GNU.
|
|
|
|
5. Compilers for other batch languages.
|
|
|
|
Volunteers are needed to write parsers/front ends for languages such
|
|
as Algol 60, Algol 68, Modula, PL/I, Ada, or whatever, to be
|
|
used with the code generation phases of the GNU C compiler. (C++ is
|
|
done, and Fortran, Pascal and Modula are being worked on.)
|
|
|
|
6. Games and recreations
|
|
|
|
Video-oriented games should work with the X window system.
|
|
|
|
Empire (there is a free version but it needs upgrading)
|
|
Rocky's Boots
|
|
Chipwits
|
|
Imitations of your favorite video games:
|
|
Space war, Asteroids, Pong, SDI, Breakout, Lode Runner, etc.
|
|
Compute and display Mandelbrot set and Julia sets
|
|
Flight simulator (I have contacts to get you information
|
|
on the equations with which you can do accurate simulation)
|
|
Biomorph evolution (as in Scientific American)
|
|
A program to display effects of moving at relativistic speeds
|
|
|
|
We do not need rogue, as we have hack.
|