diff options
author | Richard M. Stallman <rms@gnu.org> | 1993-11-23 07:00:40 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1993-11-23 07:00:40 +0000 |
commit | 0b7649a04df6b96bd21b8f64af47acd8710f5018 (patch) | |
tree | bd7c3bacfbb3f60e8cba97818ff65daf67ef3231 /etc/tasks.texi | |
parent | 3b6d7a70d3341b12dea691b07d8393fe6c1741a9 (diff) | |
download | emacs-0b7649a04df6b96bd21b8f64af47acd8710f5018.tar.gz |
Initial revision
Diffstat (limited to 'etc/tasks.texi')
-rw-r--r-- | etc/tasks.texi | 440 |
1 files changed, 440 insertions, 0 deletions
diff --git a/etc/tasks.texi b/etc/tasks.texi new file mode 100644 index 00000000000..d408203a1f6 --- /dev/null +++ b/etc/tasks.texi @@ -0,0 +1,440 @@ +\input texinfo @c -*-texinfo-*- +@c %**start of header +@setfilename tasks.info +@settitle GNU Task List +@c UPDATE THIS DATE WHENEVER YOU MAKE CHANGES! +@set lastupdate 16 July 1993 +@c %**end of header + +@setchapternewpage off + +@ifinfo +Copyright (C) 1993 Free Software Foundation + +Permission is granted to make and distribute verbatim copies of +this manual provided the copyright notice and this permission notice +are preserved on all copies. + +@ignore +Permission is granted to process this file through TeX and print the +results, provided the printed document carries copying permission +notice identical to this one except for the removal of this paragraph +(this paragraph not being relevant to the printed manual). +@end ignore + +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided that the entire +resulting derived work is distributed under the terms of a permission +notice identical to this one. + +Permission is granted to copy and distribute translations of this manual +into another language, under the above conditions for modified versions, +except that this permission notice may be stated in a translation approved +by the Free Software Foundation. +@end ifinfo + +@titlepage +@title GNU Task List +@author Richard Stallman +@author last updated @value{lastupdate} +@page + +@vskip 0pt plus 1filll +Copyright @copyright{} 1993 Free Software Foundation + +Permission is granted to make and distribute verbatim copies of +this manual provided the copyright notice and this permission notice +are preserved on all copies. + +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided that the entire +resulting derived work is distributed under the terms of a permission +notice identical to this one. + +Permission is granted to copy and distribute translations of this manual +into another language, under the above conditions for modified versions, +except that this permission notice may be stated in a translation approved +by Free Software Foundation. +@end titlepage + +@ifinfo +@node Top, Documentation, (dir), (dir) +@top Version + +Last updated @value{lastupdate}. +@end ifinfo + +Check with gnu@@prep.ai.mit.edu, for a possibly more current copy. +This task list is not exclusive; any other useful program might be a +good project--but it might instead be something we already have, so +check with gnu@@prep before you start writing it. + +@menu +* Documentation:: +* Unix-related projects:: +* Kernel-related projects:: +* Extensions to existing GNU software:: +* X windows projects:: +* Other random projects:: +* Compilers for other batch languages:: +* Games and recreations:: +@end menu + +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. + +Because of the natural tendency for most volunteers to write +programming tools or programming languages, we have a comparative +shortage of applications useful for non-programmer users. Therefore, +we ask you to consider writing such a program. + +In general, a new program that does a completely new job advances the +GNU project more than an improvement to an existing program. + +@node Documentation, Unix-related projects, Top, Top +@chapter Documentation + +We very urgently need documentation for some parts of the system +that already exist or will exist very soon: + +@itemize @bullet + +@item +A C reference manual. (RMS has written half of one which you could +start with). + +@item +A manual for Ghostscript. + +@item +A manual for CSH. + +@item +A manual for PIC (the graphics formatting language). + +@item +A manual for Perl. (The manual that exists is not free, and +is thus not available to be part of the GNU system.) + +@item +A manual for Oleo. + +@item +A book on how GCC works and why various machine descriptions +are written as they are. + +@item +A manual for programming X-window applications. + +@item +Manuals for various X window managers. + +@item +Reference cards for those manuals that don't have them: Gawk, C +Compiler, Make, Texinfo, Termcap and maybe the C Library. + +@item +Many utilities need documentation, including @code{grep}, @code{cpio}, +@code{find}, @code{less}, and the other small utilities. + +@end itemize + +@node Unix-related projects, Kernel-related projects, Documentation, Top +@chapter Unix-related projects + +@itemize + +@item +We could use an emulation of Unix @code{spell}, which would run by +invoking @code{ispell}. + +@item +Less urgent: @code{diction}, @code{explain}, @code{style}. + +@item +An improved version of the POSIX utility @code{pax}. There is one on +the usenet, but it is said to be poorly written. Talk with +mib@@gnu.ai.mit.edu about this project. + +@item +Modify the GNU @code{dc} program to use the math routines of GNU +@code{bc}. + +@item +A @code{grap} preprocessor program for @code{troff}. + +@item +Various other libraries. + +@item +An emulation of SCCS that works using RCS. + +@end itemize + +@node Kernel-related projects, Extensions to existing GNU software, Unix-related projects, Top +@chapter Kernel-related projects + +@itemize + +@item +An over-the-ethernet debugger that will allow the kernel to be +debugged from GDB running on another machine. + +@item +A shared memory X11 server to run under MACH is very desirable. The +machine specific parts should be kept well separated. + +@end itemize + +@node Extensions to existing GNU software, X windows projects, Kernel-related projects, Top +@chapter Extensions to existing GNU software + +@itemize + +@item +Enhance GCC. See files PROJECTS and PROBLEMS in the GCC distribution. + +@item +GNU @code{sed} probably needs to be rewritten completely just to make it +cleaner. + +@item +Add a few features to GNU @code{diff}, such as handling large input +files without reading entire files into core. + +@item +Extend GDB with an X-based graphical interface better than @code{xxgdb}. + +@item +An @code{nroff} macro package to simplify @code{texi2roff}. + +@item +A queueing system for the mailer Smail that groups pending work by +destination rather than by original message. This makes it possible +to schedule retries coherently for each destination. Talk to +tron@@veritas.com about this. + +@item +Cross-referencing, flow graph, and execution trace programs for C and +other languages, like @code{cxref}, @code{cflow}, and @code{ctrace}. + +@end itemize + +@node X windows projects, Other random projects, Extensions to existing GNU software, Top +@chapter X windows projects + +@itemize + +@item +An emulator for Macintosh graphics calls on top of X Windows. + +@item +An emulator for Microsoft windows calls on top of X Windows. (A +commercial program to do this took just three months to write.) + +@item +A music playing and editing system. + +@item +A program to edit dance notation (such as labanotation) and display +dancers moving on the screen. + +@item +A library for displaying circle-shaped menus with X windows. + +@item +A program to display and edit Hypercard stacks. + +@item +An interface-builder program to make it easy to design graphical +interfaces for applications. This could work with the dynamic linker +DLD and C++, loading in the same class definitions that will be used +by the application program. + +@item +A desktop program with icons and such, for X-windows. + +@item +A paint program, supporting both bitmap-oriented operations and +component-oriented operations. @code{xpaint} exists, but isn't very +usable. + +@end itemize + +@node Other random projects, Compilers for other batch languages, X windows projects, Top +@chapter Other random projects + +If you think of others that should be added, please +send them to gnu@@prep.ai.mit.edu. + +@itemize + +@item +[This seems to be being done:] +A program to convert Postscript to plain ASCII text. Ghostscript will +soon have a mode to output all the text strings in a document, each with +its coordinates. You could write a program to start with this output +and ``layout the page'' in ASCII. The program will be both easier and +more useful if you don't worry pedantically about how the output text +should be formatted. Instead, try to make it look reasonable as plain +ASCII. + +@item +A program to convert compiled programs represented in OSF ANDF +(``Architecture Neutral Distribution Format'') into ANSI C. + +@item +An imitation of Page Maker or Ventura Publisher. + +@item +An imitation of @code{dbase2} or @code{dbase3} (How dbased!) + +@item +A program to reformat Fortran programs in a way that is pretty. + +@item +A bulletin board system. There are a few free ones, but they don't have +all the features that people want in such systems. It would make sense +to start with an existing one and add the other features. + +@item +A general ledger program. + +@item +A single command language that could be suitable for use in a shell, in +GDB for programming debugging commands, in a program like @code{awk}, in +a calculator like @code{bc}, and so on. The fact that all these +programs are similar but different in peculiar details is a great source +of confusion. We are stuck with maintaining compatibility with Unix in +our shell, @code{awk}, and @code{bc}, but nothing prevents us from +having alternative programs using our new, uniform language. This would +make GNU far better for new users. + +@item +A program to typeset C code for printing. +For ideas on what to do, see the forthcoming book, + +@display +Human Factors and Typography for More Readable Programs, +Ronald M. Baecker and Aaron Marcus, +Addison-Wesley, ISBN 0-201-10745-7 +@end display + +(I don't quite agree with a few of the details they propose.) + +@item +Speech-generation programs (there is a program from Brown U that you +could improve). + +@item +Speech-recognition programs (single-speaker, disconnected speech). + +@item +Scientific mathematical subroutines, including clones of SPSS. + +@item +Statistical tools. + +@item +Software to replace card catalogues in libraries. + +@item +Grammar and style checking programs. + +@item +An implementation of the S language. + +@item +A translator from Scheme to C. + +@item +Optical character recognition programs; especially if suitable for +scanning documents with multiple fonts and capturing font info as well +as character codes. This may not be very difficult if you let it +@emph{train} on part of the individual document to be scanned, so as to +learn what fonts are in use in that document. We would particularly +like to scan the Century Dictionary, an unabridged dictionary now in the +public domain. + +You don't need scanning hardware to work on OCR. We can send you +bitmaps you can use as test data. + +@item +A program to scan a line drawing and convert it to Postscript. + +@item +A program to recognize handwriting. + +@item +A pen based interface. + +@item +Software suitable for creating virtual reality user interfaces. + +@item +CAD software, such as a vague imitation of Autocad. + +@item +Software for displaying molecules. + +@item +Software for comparing DNA sequences, and finding matches and +alignments. + +@end itemize + +@node Compilers for other batch languages, Games and recreations, Other random projects, Top +@chapter Compilers for other batch languages + +Volunteers are needed to write parsers/front ends for languages such +as Algol 60, Algol 68, PL/I, or whatever, to be used with the +code generation phases of the GNU C compiler. (C++ is done, and +Ada, Fortran, Pascal and Modula are being worked on.) + +@node Games and recreations, , Compilers for other batch languages, Top +@chapter Games and recreations + +@itemize + +@item +Video-oriented games should work with the X window system. + +@item +Empire (there is a free version but it needs upgrading) + +@item +Imitations of popular video games: + +@itemize +@item +Space war, Asteroids, Pong, Columns. +@item +Defending cities from missiles. +@item +Plane shoots at lots of other planes. +@item +Wizard fights fanciful monster. +@item +A golf game. +@item +Program a robot by sticking building blocks together, +then watch it explore a world. +@item +Biomorph evolution (as in Scientific American). +@item +A program to display effects of moving at relativistic speeds. +@end itemize + +@item +Intriguing screen-saver programs to make interesting pictures. +Other such programs that are simply entertaining to watch. +For example, an aquarium. + +@end itemize + +We do not need @code{rogue}, as we have @code{hack}. + +@contents + +@bye |