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