]> code.delx.au - gnu-emacs/blobdiff - etc/tasks.texi
Check for rint and cbrt.
[gnu-emacs] / etc / tasks.texi
index 72af6331ba9a6e61adb5347936c870a398721ee5..76b3478e7b853321de429c9a78bbf29e9c8d3991 100644 (file)
@@ -2,8 +2,7 @@
 @c %**start of header
 @setfilename tasks.info
 @settitle GNU Task List
-@c UPDATE THIS DATE WHENEVER YOU MAKE CHANGES!
-@set lastupdate 31 March 1995
+@include tasks.version
 @c %**end of header
 
 @setchapternewpage off
 @end titlepage
 
 @ifinfo
-@node Top, Documentation, (dir), (dir)
+@node Top, Preface, (dir), (dir)
 @top GNU Task List
 
 This file is updated automatically from @file{tasks.texi}, which was
 last updated on @value{lastupdate}.
 @end ifinfo
 
-Check with @code{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 @code{gnu@@prep} before you start writing it.
-
 @menu
+* Preface::
 * Documentation::
 * Unix-Related Projects::
 * Kernel Projects::
@@ -38,14 +33,24 @@ check with @code{gnu@@prep} before you start writing it.
 * Games and Recreations::
 @end menu
 
+@node Preface, Documentation, Top, Top
+@chapter About the GNU Task List
+
+Check with @code{gnu@@prep.ai.mit.edu}, for a possibly more current
+copy.  You can also ftp it from a GNU FTP host in directory
+@file{/pub/gnu/tasks} - These files in different formats are available:
+@file{tasks.text}, @file{tasks.texi}, @file{tasks.info}, and
+@file{tasks.dvi}.  It is also available on the GNU World Wide Web
+server: @file{http://www.gnu.ai.mit.edu}.
+
 If you start working steadily on a project, please let @code{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.
+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.
@@ -58,26 +63,22 @@ that already exist or will exist very soon:
 
 @itemize @bullet
 @item
-Completion of the documentation for CC-mode, a new C/C++ mode for
-Emacs Lisp.
+Completion of the documentation for CC-mode, a new Emacs mode for
+C, C++ and other languages.
 
 @item
-A C reference manual.  (RMS has written half of one which you could
-start with).
+A C reference manual.  (RMS made a try at one, which you could start
+with).
 
 @item
 A manual for Ghostscript.
-@c
-@c @item
-@c A manual for CSH.
-@c Ick, do we want to encourage using THAT?  -djm
+
 
 @item
-A manual for PIC (the graphics formatting language).
+A manual for TCSH.
 
 @item
-A manual for Perl.  (The books that exist are not free, and
-thus not available to be part of the GNU system.)
+A manual for PIC (the graphics formatting language).
 
 @item
 A manual for Oleo.
@@ -93,12 +94,11 @@ A manual for programming X-window applications.
 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.
+Reference cards for those manuals that don't have them: C
+Compiler, Make, Texinfo, Termcap, and maybe the C Library.
 
 @item
-Many utilities need documentation, including @code{grep}, @code{cpio},
-and other small utilities.
+Many utilities need documentation, including @code{grep} and others.
 @end itemize
 
 @node Unix-Related Projects
@@ -109,12 +109,9 @@ and other small utilities.
 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
+Usenet, but it is said to be poorly written.  Talk with
 @code{mib@@gnu.ai.mit.edu} about this project.
 
 @ignore
@@ -131,6 +128,11 @@ Various other libraries.
 
 @item
 An emulation of SCCS that works using RCS.
+
+@item
+Less urgent: @code{diction}, @code{explain}, and @code{style}, or
+something to do the same kind of job.  Compatibility with Unix is not
+especially important for these programs.
 @end itemize
 
 @node Kernel Projects
@@ -155,6 +157,10 @@ need some changes.
 @item
 A shared memory X11 server to run under MACH is very desirable.  The
 machine specific parts should be kept well separated.
+
+@item
+An implementation of CIFS, the ``Common Internet File System,'' for the
+HURD.  This protocol is an offshoot of SMB.
 @end itemize
 
 @node Extensions
@@ -166,14 +172,19 @@ Enhance GCC.  See files @file{PROJECTS} and @file{PROBLEMS} in the GCC
 distribution.
 
 @item
-GNU @code{sed} probably needs to be rewritten completely just to make it
-cleaner.
+Rewrite GNU @code{sed} completely, to make it cleaner.
+
+@item
+Rewrite Automake and Deja-GNU in Scheme, so they can run in Guile.
+Right now they are written in Perl and TCL, respectively.  There are
+also other programs, not terribly long, which we would also like
+to have rewritten in Scheme.
 
 @item
-Work on the partially-implemented C interpreter project.
+Finish the partially-implemented C interpreter project.
 
 @item
-Help with the development of GNUstep, a GNU implementation of the
+Help with the development of GNUStep, a GNU implementation of the
 OpenStep specification.
 
 @item
@@ -212,11 +223,6 @@ An emulator for Macintosh graphics calls on top of X Windows.
 @item
 A music playing and editing system.
 
-@item
-A "disk jockey" program to keep track of a collection of recorded music
-samples (songs, etc), and queue up a sequence of them for playing.  This
-program could use rplay to do the actual playing.
-
 @item
 A program to edit dance notation (such as labanotation) and display
 dancers moving on the screen.
@@ -224,30 +230,23 @@ dancers moving on the screen.
 @item
 Port the Vibrant toolkit to work on X without using Motif.
 
-@item
-A widget for displaying circle-shaped menus ("pie 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.
+A paint program, supporting both bitmap-oriented operations and
+component-oriented operations.  @code{xpaint} exists, but isn't very
+usable.
 
 @item
-A "desktop" program with drag-and-drop icons and such.
+A vector-based drawing program in the spirit of Adobe Illustrator
+and Corel Draw.
 
 @item
-A paint program, supporting both bitmap-oriented operations and
-component-oriented operations.  @code{xpaint} exists, but isn't very
-usable.
+An interactive 3D modeling utility with rendering/raytracing capabilities.
 
 @item
-A program for manipulating photographs---something vaguely like Photo
-Shop (though not exactly like it).
+A program for graphic morphing of scanned photographs.
 @end itemize
 
 @node Other Projects
@@ -258,14 +257,20 @@ send them to @code{gnu@@prep.ai.mit.edu}.
 
 @itemize @bullet
 @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.
+A free program for public-key encryption.
+
+This program should use the Diffie-Helman algorithm for public key
+encryption, not the RSA algorithm, because the Diffie-Helman patent in
+the US will expire in 1997.  It should use triple-DES, not IDEA, for
+block encryption because IDEA is patented in many countries and the
+patents will not expire soon.  In other respects, it should be like PGP.
+
+This program needs to be written by someone who is not a US citizen,
+outside the US, to avoid problems with US export control law.
+
+Many people believe that PGP is free software, but that is not actually
+true.  The distribution terms set by the copyright holders do not allow
+everyone to use and redistribute it.
 
 @item
 A program to convert compiled programs represented in OSF ANDF
@@ -286,11 +291,16 @@ 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.
+A general ledger program, including support for accounts payable, 
+account receivables, payroll, inventory control, order processing, etc.
+
+@item
+A teleconferencing program which does the job of CU-SeeMe (which is,
+alas, not free software).
 
 @item
 A program to typeset C code for printing.
-For ideas on what to do, see the forthcoming book,
+For ideas on what to do, see the book,
 
 @display
 Human Factors and Typography for More Readable Programs,
@@ -305,10 +315,17 @@ Speech-generation programs (there is a program from Brown U that you
 could improve).
 
 @item
-Speech-recognition programs (single-speaker, disconnected speech).
+Speech-recognition programs (single-speaker, disconnected speech is sufficient).
 
 @item
-Scientific mathematical subroutines, including clones of SPSS.
+A program to play sound distributed in ``Real Audio'' format.
+
+@item
+A program to generate ``Real Audio'' format from audio input.
+
+@item
+More scientific mathematical subroutines.
+(A clone of SPSS is being written already.)
 
 @item
 Statistical tools.
@@ -320,7 +337,7 @@ Software to replace card catalogues in libraries.
 Grammar and style checking programs.
 
 @item
-An implementation of the S language (an interpreted languages used for
+An implementation of the S language (an interpreted language used for
 statistics).
 
 @item
@@ -329,16 +346,7 @@ 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.
-
-We may soon have an OCR program, but it will need lots of additional work.
+as character codes.  Work is being done on this, but more help is needed.
 
 @item
 A program to scan a line drawing and convert it to Postscript.
@@ -349,15 +357,9 @@ 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.
@@ -367,9 +369,10 @@ alignments.
 @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++ and Objective C are done,
-Fortran is now in beta test, and Ada and Pascal are being worked on.
+Algol 60, Algol 68, PL/I, Cobol, Fortran 90, or whatever, to be used
+with the code generation phases of the GNU C compiler.  (C, C++, and
+Objective-C are done; Fortran 77 is mostly done; Ada, Pascal, and Java
+are being worked on.)
 
 @c Fortran status is here so gnu@prep and the volunteer coordinators
 @c don't have to answer the question -len
@@ -382,9 +385,12 @@ finger -l fortran@@gnu.ai.mit.edu
 @node Games and Recreations
 @chapter Games and Recreations
 
+Video-oriented games that work with the X window system.
+
 @itemize @bullet
 @item
-Video-oriented games should work with the X window system.
+A Doom-compatible display game engine, for running the many free
+levels people have written for Doom.
 
 @item
 Empire (there is a free version but it needs upgrading)
@@ -393,6 +399,9 @@ Empire (there is a free version but it needs upgrading)
 An ``empire builder'' system that makes it easy to write various kinds of
 simulation games.
 
+@item
+Improve GnuGo, which is not yet very sophisticated.
+
 @item
 Imitations of popular video games: