Mercurial > emacs
annotate etc/tasks.texi @ 8754:244c6e5c5f4b
(removenullpaths, paths-force):
Put paths.h.tmp in top-level dir, not in src.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 15 Sep 1994 03:47:07 +0000 |
parents | aad4bccb4fca |
children | 6714a42afa60 |
rev | line source |
---|---|
5119 | 1 \input texinfo @c -*-texinfo-*- |
2 @c %**start of header | |
3 @setfilename tasks.info | |
4 @settitle GNU Task List | |
5 @c UPDATE THIS DATE WHENEVER YOU MAKE CHANGES! | |
8484
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
6 @set lastupdate 8 Aug 1994 |
5119 | 7 @c %**end of header |
8 | |
9 @setchapternewpage off | |
10 | |
11 @titlepage | |
12 @title GNU Task List | |
5120 | 13 @author Free Software Foundation |
5119 | 14 @author last updated @value{lastupdate} |
15 @end titlepage | |
16 | |
17 @ifinfo | |
18 @node Top, Documentation, (dir), (dir) | |
5120 | 19 @top GNU Task list |
5119 | 20 |
5120 | 21 This file is updated automatically from @file{tasks.texi}, which was |
22 last updated on @value{lastupdate}. | |
5119 | 23 @end ifinfo |
24 | |
25 Check with gnu@@prep.ai.mit.edu, for a possibly more current copy. | |
26 This task list is not exclusive; any other useful program might be a | |
5120 | 27 good project---but it might instead be something we already have, so |
5119 | 28 check with gnu@@prep before you start writing it. |
29 | |
30 @menu | |
31 * Documentation:: | |
5120 | 32 * Unix-Related Projects:: |
33 * Kernel Projects:: | |
34 * Extensions:: | |
35 * X Windows Projects:: | |
36 * Other Projects:: | |
37 * Compilers:: | |
38 * Games and Recreations:: | |
5119 | 39 @end menu |
40 | |
41 If you start working steadily on a project, please let gnu@@prep know. | |
42 We might have information that could help you; we'd also like to send | |
43 you the GNU coding standards. | |
44 | |
45 Because of the natural tendency for most volunteers to write | |
46 programming tools or programming languages, we have a comparative | |
47 shortage of applications useful for non-programmer users. Therefore, | |
48 we ask you to consider writing such a program. | |
49 | |
50 In general, a new program that does a completely new job advances the | |
51 GNU project more than an improvement to an existing program. | |
52 | |
5120 | 53 @node Documentation |
5119 | 54 @chapter Documentation |
55 | |
56 We very urgently need documentation for some parts of the system | |
57 that already exist or will exist very soon: | |
58 | |
59 @itemize @bullet | |
8484
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
60 @item |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
61 Completion of the documentation for CC-mode, a new C/C++ mode for |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
62 Emacs Lisp. |
5119 | 63 |
64 @item | |
65 A C reference manual. (RMS has written half of one which you could | |
66 start with). | |
67 | |
68 @item | |
69 A manual for Ghostscript. | |
70 | |
71 @item | |
72 A manual for CSH. | |
73 | |
74 @item | |
75 A manual for PIC (the graphics formatting language). | |
76 | |
77 @item | |
78 A manual for Perl. (The manual that exists is not free, and | |
79 is thus not available to be part of the GNU system.) | |
80 | |
81 @item | |
82 A manual for Oleo. | |
83 | |
84 @item | |
85 A book on how GCC works and why various machine descriptions | |
86 are written as they are. | |
87 | |
88 @item | |
89 A manual for programming X-window applications. | |
90 | |
91 @item | |
92 Manuals for various X window managers. | |
93 | |
94 @item | |
95 Reference cards for those manuals that don't have them: Gawk, C | |
96 Compiler, Make, Texinfo, Termcap and maybe the C Library. | |
97 | |
98 @item | |
99 Many utilities need documentation, including @code{grep}, @code{cpio}, | |
8484
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
100 @code{find}, |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
101 @c @code{less}, |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
102 and the other small utilities. |
5119 | 103 |
104 @end itemize | |
105 | |
5120 | 106 @node Unix-Related Projects |
107 @chapter Unix-Related projects | |
5119 | 108 |
109 @itemize | |
110 | |
111 @item | |
112 We could use an emulation of Unix @code{spell}, which would run by | |
113 invoking @code{ispell}. | |
114 | |
115 @item | |
116 Less urgent: @code{diction}, @code{explain}, @code{style}. | |
117 | |
118 @item | |
119 An improved version of the POSIX utility @code{pax}. There is one on | |
120 the usenet, but it is said to be poorly written. Talk with | |
121 mib@@gnu.ai.mit.edu about this project. | |
122 | |
8484
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
123 @ignore |
5119 | 124 @item |
125 Modify the GNU @code{dc} program to use the math routines of GNU | |
126 @code{bc}. | |
8484
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
127 @end ignore |
5119 | 128 |
129 @item | |
130 A @code{grap} preprocessor program for @code{troff}. | |
131 | |
132 @item | |
133 Various other libraries. | |
134 | |
135 @item | |
136 An emulation of SCCS that works using RCS. | |
137 | |
138 @end itemize | |
139 | |
5120 | 140 @node Kernel Projects |
141 @chapter Kernel-Related projects | |
5119 | 142 |
143 @itemize | |
8484
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
144 @item |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
145 An over-the-ethernet debugger stub that will allow the kernel to be |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
146 debugged from GDB running on another machine. |
5119 | 147 |
8484
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
148 This stub needs its own self-contained implementation of all protocols |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
149 to be used, since the GNU system will use user processes to implement |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
150 all but the lowest levels, and the stub won't be able to use those |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
151 processes. If a simple self-contained implementation of IP and TCP is |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
152 impractical, it might be necessary to design a new, simple protocol |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
153 based directly on ethernet. It's not crucial to support high speed or |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
154 communicating across gateways. |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
155 |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
156 It might be possible to use the Mach ethernet driver code, but it would |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
157 need some changes. |
5119 | 158 |
159 @item | |
160 A shared memory X11 server to run under MACH is very desirable. The | |
161 machine specific parts should be kept well separated. | |
162 | |
163 @end itemize | |
164 | |
5120 | 165 @node Extensions |
5119 | 166 @chapter Extensions to existing GNU software |
167 | |
168 @itemize | |
169 | |
170 @item | |
171 Enhance GCC. See files PROJECTS and PROBLEMS in the GCC distribution. | |
172 | |
173 @item | |
174 GNU @code{sed} probably needs to be rewritten completely just to make it | |
175 cleaner. | |
176 | |
177 @item | |
8484
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
178 Add features to GNU Make to record the precise rule with which each file |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
179 was last recompiled; then recompile any file if its rule in the makefile |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
180 has changed. |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
181 |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
182 @item |
5119 | 183 Add a few features to GNU @code{diff}, such as handling large input |
184 files without reading entire files into core. | |
185 | |
186 @item | |
187 Extend GDB with an X-based graphical interface better than @code{xxgdb}. | |
188 | |
189 @item | |
190 An @code{nroff} macro package to simplify @code{texi2roff}. | |
191 | |
192 @item | |
193 A queueing system for the mailer Smail that groups pending work by | |
194 destination rather than by original message. This makes it possible | |
195 to schedule retries coherently for each destination. Talk to | |
196 tron@@veritas.com about this. | |
197 | |
8484
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
198 Smail also needs a new chief maintainer. |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
199 |
5119 | 200 @item |
8484
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
201 Enhanced cross-reference browsing tools. (We now have something at |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
202 about the level of @code{cxref}.) We also could use something like |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
203 @code{ctrace}. (Some people are now working on this project.) |
5119 | 204 @end itemize |
205 | |
5120 | 206 @node X Windows Projects |
5119 | 207 @chapter X windows projects |
208 | |
209 @itemize | |
210 | |
211 @item | |
212 An emulator for Macintosh graphics calls on top of X Windows. | |
213 | |
214 @item | |
215 An emulator for Microsoft windows calls on top of X Windows. (A | |
216 commercial program to do this took just three months to write.) | |
217 | |
218 @item | |
219 A music playing and editing system. | |
220 | |
221 @item | |
222 A program to edit dance notation (such as labanotation) and display | |
223 dancers moving on the screen. | |
224 | |
225 @item | |
226 A library for displaying circle-shaped menus with X windows. | |
227 | |
228 @item | |
229 A program to display and edit Hypercard stacks. | |
230 | |
231 @item | |
232 An interface-builder program to make it easy to design graphical | |
233 interfaces for applications. This could work with the dynamic linker | |
234 DLD and C++, loading in the same class definitions that will be used | |
235 by the application program. | |
236 | |
237 @item | |
238 A desktop program with icons and such, for X-windows. | |
239 | |
240 @item | |
241 A paint program, supporting both bitmap-oriented operations and | |
242 component-oriented operations. @code{xpaint} exists, but isn't very | |
243 usable. | |
244 | |
245 @end itemize | |
246 | |
5120 | 247 @node Other Projects |
248 @chapter Other Projects | |
5119 | 249 |
250 If you think of others that should be added, please | |
251 send them to gnu@@prep.ai.mit.edu. | |
252 | |
253 @itemize | |
254 | |
255 @item | |
256 [This seems to be being done:] | |
257 A program to convert Postscript to plain ASCII text. Ghostscript will | |
258 soon have a mode to output all the text strings in a document, each with | |
259 its coordinates. You could write a program to start with this output | |
260 and ``layout the page'' in ASCII. The program will be both easier and | |
261 more useful if you don't worry pedantically about how the output text | |
262 should be formatted. Instead, try to make it look reasonable as plain | |
263 ASCII. | |
264 | |
265 @item | |
266 A program to convert compiled programs represented in OSF ANDF | |
267 (``Architecture Neutral Distribution Format'') into ANSI C. | |
268 | |
269 @item | |
270 An imitation of Page Maker or Ventura Publisher. | |
271 | |
272 @item | |
273 An imitation of @code{dbase2} or @code{dbase3} (How dbased!) | |
274 | |
275 @item | |
276 A program to reformat Fortran programs in a way that is pretty. | |
277 | |
278 @item | |
279 A bulletin board system. There are a few free ones, but they don't have | |
280 all the features that people want in such systems. It would make sense | |
281 to start with an existing one and add the other features. | |
282 | |
283 @item | |
284 A general ledger program. | |
285 | |
286 @item | |
8592
aad4bccb4fca
Formerly tasks.texi.~13~
Richard M. Stallman <rms@gnu.org>
parents:
8484
diff
changeset
|
287 A World-Wide-Web server. |
aad4bccb4fca
Formerly tasks.texi.~13~
Richard M. Stallman <rms@gnu.org>
parents:
8484
diff
changeset
|
288 |
aad4bccb4fca
Formerly tasks.texi.~13~
Richard M. Stallman <rms@gnu.org>
parents:
8484
diff
changeset
|
289 @item |
5119 | 290 A single command language that could be suitable for use in a shell, in |
291 GDB for programming debugging commands, in a program like @code{awk}, in | |
292 a calculator like @code{bc}, and so on. The fact that all these | |
293 programs are similar but different in peculiar details is a great source | |
294 of confusion. We are stuck with maintaining compatibility with Unix in | |
295 our shell, @code{awk}, and @code{bc}, but nothing prevents us from | |
296 having alternative programs using our new, uniform language. This would | |
297 make GNU far better for new users. | |
298 | |
299 @item | |
300 A program to typeset C code for printing. | |
301 For ideas on what to do, see the forthcoming book, | |
302 | |
303 @display | |
304 Human Factors and Typography for More Readable Programs, | |
305 Ronald M. Baecker and Aaron Marcus, | |
306 Addison-Wesley, ISBN 0-201-10745-7 | |
307 @end display | |
308 | |
309 (I don't quite agree with a few of the details they propose.) | |
310 | |
311 @item | |
312 Speech-generation programs (there is a program from Brown U that you | |
313 could improve). | |
314 | |
315 @item | |
316 Speech-recognition programs (single-speaker, disconnected speech). | |
317 | |
318 @item | |
319 Scientific mathematical subroutines, including clones of SPSS. | |
320 | |
321 @item | |
322 Statistical tools. | |
323 | |
324 @item | |
325 Software to replace card catalogues in libraries. | |
326 | |
327 @item | |
328 Grammar and style checking programs. | |
329 | |
330 @item | |
8484
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
331 An implementation of the S language (an interpreted languages used for |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
332 statistics). |
5119 | 333 |
334 @item | |
335 A translator from Scheme to C. | |
336 | |
337 @item | |
338 Optical character recognition programs; especially if suitable for | |
339 scanning documents with multiple fonts and capturing font info as well | |
340 as character codes. This may not be very difficult if you let it | |
341 @emph{train} on part of the individual document to be scanned, so as to | |
342 learn what fonts are in use in that document. We would particularly | |
343 like to scan the Century Dictionary, an unabridged dictionary now in the | |
344 public domain. | |
345 | |
346 You don't need scanning hardware to work on OCR. We can send you | |
347 bitmaps you can use as test data. | |
348 | |
8484
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
349 We may soon have an OCR program, but it will need lots of additional work. |
3aa323481f5a
Formerly tasks.texi.~12~
Richard M. Stallman <rms@gnu.org>
parents:
5120
diff
changeset
|
350 |
5119 | 351 @item |
352 A program to scan a line drawing and convert it to Postscript. | |
353 | |
354 @item | |
355 A program to recognize handwriting. | |
356 | |
357 @item | |
358 A pen based interface. | |
359 | |
360 @item | |
361 Software suitable for creating virtual reality user interfaces. | |
362 | |
363 @item | |
364 CAD software, such as a vague imitation of Autocad. | |
365 | |
366 @item | |
367 Software for displaying molecules. | |
368 | |
369 @item | |
370 Software for comparing DNA sequences, and finding matches and | |
371 alignments. | |
372 | |
373 @end itemize | |
374 | |
5120 | 375 @node Compilers |
376 @chapter Compilers for Other Batch Languages | |
5119 | 377 |
378 Volunteers are needed to write parsers/front ends for languages such | |
379 as Algol 60, Algol 68, PL/I, or whatever, to be used with the | |
380 code generation phases of the GNU C compiler. (C++ is done, and | |
381 Ada, Fortran, Pascal and Modula are being worked on.) | |
382 | |
5120 | 383 @node Games and Recreations |
384 @chapter Games and Recreations | |
5119 | 385 |
386 @itemize | |
387 | |
388 @item | |
389 Video-oriented games should work with the X window system. | |
390 | |
391 @item | |
392 Empire (there is a free version but it needs upgrading) | |
393 | |
394 @item | |
395 Imitations of popular video games: | |
396 | |
397 @itemize | |
398 @item | |
399 Space war, Asteroids, Pong, Columns. | |
400 @item | |
401 Defending cities from missiles. | |
402 @item | |
403 Plane shoots at lots of other planes. | |
404 @item | |
405 Wizard fights fanciful monster. | |
406 @item | |
407 A golf game. | |
408 @item | |
409 Program a robot by sticking building blocks together, | |
410 then watch it explore a world. | |
411 @item | |
412 Biomorph evolution (as in Scientific American). | |
413 @item | |
414 A program to display effects of moving at relativistic speeds. | |
415 @end itemize | |
416 | |
417 @item | |
418 Intriguing screen-saver programs to make interesting pictures. | |
419 Other such programs that are simply entertaining to watch. | |
420 For example, an aquarium. | |
421 | |
422 @end itemize | |
423 | |
424 We do not need @code{rogue}, as we have @code{hack}. | |
425 | |
426 @contents | |
427 | |
428 @bye |