Commit | Line | Data |
---|---|---|
bb5d4e1a RS |
1 | \input texinfo @c -*-texinfo-*- |
2 | @c %**start of header | |
3 | @setfilename tasks.info | |
4 | @settitle GNU Task List | |
fff05d88 | 5 | @c This date is automagically updated when you save this file: |
8a3c3130 | 6 | @set lastupdate September 22, 1998 |
bb5d4e1a RS |
7 | @c %**end of header |
8 | ||
9 | @setchapternewpage off | |
10 | ||
bb5d4e1a RS |
11 | @titlepage |
12 | @title GNU Task List | |
d6eb79ad | 13 | @author Free Software Foundation |
bb5d4e1a | 14 | @author last updated @value{lastupdate} |
bb5d4e1a RS |
15 | @end titlepage |
16 | ||
17 | @ifinfo | |
55616d18 | 18 | @node Top, Intro, (dir), (dir) |
d9e60f52 | 19 | @top GNU Task List |
bb5d4e1a | 20 | |
d6eb79ad RS |
21 | This file is updated automatically from @file{tasks.texi}, which was |
22 | last updated on @value{lastupdate}. | |
bb5d4e1a RS |
23 | @end ifinfo |
24 | ||
bb5d4e1a | 25 | @menu |
7c4978a8 RS |
26 | * Intro:: |
27 | * Highest Priority:: | |
cab856b0 RS |
28 | * Documentation:: |
29 | * Unix-Related Projects:: | |
30 | * Kernel Projects:: | |
d6eb79ad | 31 | * Extensions:: |
cab856b0 | 32 | * X Windows Projects:: |
ca0afed9 | 33 | * Encryption Projects:: |
cab856b0 | 34 | * Other Projects:: |
d6eb79ad | 35 | * Compilers:: |
cab856b0 | 36 | * Games and Recreations:: |
bb5d4e1a RS |
37 | @end menu |
38 | ||
7c4978a8 | 39 | @node Intro |
c05524ad RS |
40 | @chapter About the GNU Task List |
41 | ||
7c4978a8 | 42 | If you did not obtain this file directly from the GNU project and |
9459fac1 JG |
43 | recently, please check for a newer version. You can ftp the task list |
44 | from any GNU FTP host in directory @file{/pub/gnu/tasks/}. The task | |
7c4978a8 | 45 | list is available there in several different formats: @file{tasks.text}, |
541d49e1 JG |
46 | @file{tasks.texi}, @file{tasks.info}, and @file{tasks.dvi}. The GNU |
47 | HURD task list is also there in file @file{tasks.hurd}. | |
48 | @c to fix an overfill, join the paragraphs -len | |
7c4978a8 | 49 | The task list is also available on the GNU World Wide Web server: |
fff05d88 | 50 | @uref{http://www.gnu.org/prep/tasks_toc.html}. |
c05524ad | 51 | |
fff05d88 | 52 | If you start working steadily on a project, please let @email{gvc@@gnu.org} |
d9e60f52 DM |
53 | know. We might have information that could help you; we'd also like to |
54 | send you the GNU coding standards. | |
bb5d4e1a | 55 | |
c05524ad RS |
56 | Because of the natural tendency for most volunteers to write programming |
57 | tools or programming languages, we have a comparative shortage of | |
58 | applications useful for non-programmer users. Therefore, we ask you to | |
59 | consider writing such a program. | |
bb5d4e1a | 60 | |
d17fd035 RS |
61 | Typically, a new program that does a completely new job advances |
62 | the GNU project, and the free software community, more than an | |
63 | improvement to an existing program. | |
64 | ||
65 | Typically, new features or new programs advance the free software | |
66 | community more, in the long run, than porting existing programs. One | |
67 | reason is that portable new features and programs benefit people on many | |
68 | platforms, not just one. At the same time, there tend to be many | |
69 | volunteers for porting---so your help will be more valuable in other | |
70 | areas, where volunteers are more scarce. | |
71 | ||
72 | Typically, it is more useful to extend a program in functionality than | |
73 | to improve performance. Users who use the new functionality will | |
74 | appreciate it very much, if they use it; but even when they benefit from | |
75 | a performance improvement, they may not consider it very important. | |
bb5d4e1a | 76 | |
7c4978a8 RS |
77 | @node Highest Priority |
78 | @chapter Highest Priority | |
79 | ||
80 | This task list mentions a large number of tasks that would be more or | |
81 | less useful. With luck, at least one of them will inspire you to start | |
82 | writing. It's better for you to work on any task that inspires you than | |
83 | not write free software at all. | |
84 | ||
85 | But if you would like to work on what we need most, here is a list of | |
86 | high priority projects. | |
87 | ||
88 | @itemize @bullet | |
89 | @item | |
632c6364 | 90 | If you are good at writing documentation, please do that. |
7c4978a8 RS |
91 | |
92 | @item | |
93 | If you are very good at C programming and interested in kernels, you can | |
541d49e1 | 94 | help develop the GNU HURD, the kernel for the GNU system. Please have a |
fff05d88 | 95 | look at @uref{http://www.gnu.org/software/hurd/hurd.html}, and |
541d49e1 JG |
96 | then get a copy of the latest HURD task list from: |
97 | ||
98 | @itemize @bullet | |
99 | ||
100 | @item | |
fff05d88 | 101 | @uref{http://www.gnu.org/prep/tasks.hurd.html}, via the World Wide |
541d49e1 JG |
102 | Web. |
103 | ||
104 | @item | |
fff05d88 | 105 | @uref{ftp://ftp.gnu.org/pub/gnu/tasks/tasks.hurd}, via anonymous FTP. |
541d49e1 JG |
106 | |
107 | @item | |
fff05d88 | 108 | @email{gnu@@gnu.org} via e-mail. |
541d49e1 JG |
109 | |
110 | @end itemize | |
7c4978a8 RS |
111 | |
112 | @item | |
541d49e1 | 113 | If you are a Scheme fan, you can help develop Guile. Please have a look |
fff05d88 RS |
114 | at the URL @uref{http://www.gnu.org/software/guile/guile.html} |
115 | and then contact the Guile developers at @email{guile@@gnu.org}. | |
7c4978a8 RS |
116 | |
117 | @item | |
fff05d88 | 118 | Help develop XmHTML. |
7c4978a8 RS |
119 | |
120 | @item | |
fff05d88 RS |
121 | Help develop software to emulate Windows NT on top of GNU systems. |
122 | For example, you could help work on Willows Twin. | |
7c4978a8 RS |
123 | |
124 | @item | |
125 | Implement the Kermit data transfer protocol. (See below.) | |
126 | ||
fff05d88 | 127 | @ignore This is being done (Harmony) |
7c4978a8 | 128 | @item |
632c6364 RS |
129 | Develop a free compatible replacement for Qt, a GUI toolkit library. Qt |
130 | is not free software, because users are prohibited from distributing | |
131 | modified versions. Thus, Qt cannot be included in a free operating | |
132 | system (adding it would make the system as a whole non-free). | |
133 | ||
134 | But some developers are writing free applications that use Qt and cannot | |
135 | run without it. These programs, although free software, are useless for | |
136 | free operating systems because there is no way to make them run. | |
137 | ||
138 | This is leading to a serious problem, and a free replacement for Qt is | |
139 | the only solution. Hence the high degree of urgency of this project. | |
fff05d88 RS |
140 | @end ignore |
141 | ||
142 | @item | |
143 | Develop a free replacement for a semi-free program such as Xv or POV. | |
144 | These semi-free programs are less restricted than typical proprietary | |
145 | programs, but too restricted to be part of any free operating system. | |
7c4978a8 RS |
146 | |
147 | @item | |
148 | Develop a substitute, which runs on GNU systems, for some very popular | |
149 | or very important application that many non-programmers use on Windows, | |
150 | and which has no comparable free equivalent now. | |
151 | @end itemize | |
152 | ||
d6eb79ad | 153 | @node Documentation |
bb5d4e1a RS |
154 | @chapter Documentation |
155 | ||
fff05d88 RS |
156 | We very urgently need documentation for many existing parts of the |
157 | system. | |
158 | ||
159 | Note that there are proprietary manuals for many of these topics, but | |
160 | proprietary manuals do not count, because we are not free to copy and | |
161 | modify them along with the software they document. For this reason, | |
162 | we do not recommend any non-free manuals. | |
bb5d4e1a RS |
163 | |
164 | @itemize @bullet | |
bb5d4e1a | 165 | @item |
c05524ad RS |
166 | A C reference manual. (RMS made a try at one, which you could start |
167 | with). | |
bb5d4e1a | 168 | |
fff05d88 RS |
169 | @item |
170 | Reference manuals for C++, Pascal, Fortran 77, and Java. | |
171 | ||
bb5d4e1a RS |
172 | @item |
173 | A manual for Ghostscript. | |
c05524ad | 174 | |
c05524ad RS |
175 | @item |
176 | A manual for TCSH. | |
bb5d4e1a RS |
177 | |
178 | @item | |
fff05d88 RS |
179 | A good free reference manual for Perl. The free Perl on-line reference |
180 | documentation is good, for what it is--a list of functions and a | |
181 | description of each--but that is not the same as a reference manual. | |
182 | (Compare, for example, the Emacs Lisp Reference Manual with the | |
183 | collection of documentation strings of Emacs Lisp functions.) | |
bb5d4e1a | 184 | |
bb5d4e1a | 185 | @item |
fff05d88 RS |
186 | A good free Perl language tutorial introduction. The existing Perl |
187 | introductions are published with restrictions on copying and | |
188 | modification, so that they cannot be part of a GNU system. | |
189 | ||
190 | @item | |
191 | A manual for PIC (the graphics formatting language). | |
bb5d4e1a RS |
192 | |
193 | @item | |
194 | A book on how GCC works and why various machine descriptions | |
195 | are written as they are. | |
196 | ||
197 | @item | |
198 | A manual for programming X-window applications. | |
199 | ||
200 | @item | |
201 | Manuals for various X window managers. | |
202 | ||
203 | @item | |
261597d4 | 204 | Reference cards for those manuals that don't have them: C |
c05524ad | 205 | Compiler, Make, Texinfo, Termcap, and maybe the C Library. |
bb5d4e1a RS |
206 | |
207 | @item | |
261597d4 | 208 | Many utilities need documentation, including @code{grep} and others. |
bb5d4e1a RS |
209 | @end itemize |
210 | ||
d6eb79ad | 211 | @node Unix-Related Projects |
d9e60f52 | 212 | @chapter Unix-Related Projects |
bb5d4e1a | 213 | |
d9e60f52 | 214 | @itemize @bullet |
5aba97f2 | 215 | @ignore |
bb5d4e1a RS |
216 | @item |
217 | Modify the GNU @code{dc} program to use the math routines of GNU | |
218 | @code{bc}. | |
5aba97f2 | 219 | @end ignore |
bb5d4e1a RS |
220 | |
221 | @item | |
222 | A @code{grap} preprocessor program for @code{troff}. | |
223 | ||
bb5d4e1a | 224 | @item |
fff05d88 RS |
225 | Less urgent: make a replacement for the ``writer's workbench'' program |
226 | @code{style}, or something to do the same kind of job. Compatibility | |
227 | with Unix is not especially important for this programs. | |
bb5d4e1a RS |
228 | @end itemize |
229 | ||
d6eb79ad | 230 | @node Kernel Projects |
d9e60f52 | 231 | @chapter Kernel-Related Projects |
bb5d4e1a | 232 | |
d9e60f52 | 233 | @itemize @bullet |
bb5d4e1a | 234 | @item |
5aba97f2 | 235 | An over-the-ethernet debugger stub that will allow the kernel to be |
bb5d4e1a RS |
236 | debugged from GDB running on another machine. |
237 | ||
5aba97f2 RS |
238 | This stub needs its own self-contained implementation of all protocols |
239 | to be used, since the GNU system will use user processes to implement | |
240 | all but the lowest levels, and the stub won't be able to use those | |
241 | processes. If a simple self-contained implementation of IP and TCP is | |
242 | impractical, it might be necessary to design a new, simple protocol | |
243 | based directly on ethernet. It's not crucial to support high speed or | |
244 | communicating across gateways. | |
245 | ||
246 | It might be possible to use the Mach ethernet driver code, but it would | |
247 | need some changes. | |
248 | ||
bb5d4e1a RS |
249 | @item |
250 | A shared memory X11 server to run under MACH is very desirable. The | |
251 | machine specific parts should be kept well separated. | |
c05524ad RS |
252 | |
253 | @item | |
254 | An implementation of CIFS, the ``Common Internet File System,'' for the | |
255 | HURD. This protocol is an offshoot of SMB. | |
bb5d4e1a RS |
256 | @end itemize |
257 | ||
d6eb79ad | 258 | @node Extensions |
d9e60f52 | 259 | @chapter Extensions to Existing GNU Software |
bb5d4e1a | 260 | |
d9e60f52 | 261 | @itemize @bullet |
bb5d4e1a | 262 | @item |
d9e60f52 DM |
263 | Enhance GCC. See files @file{PROJECTS} and @file{PROBLEMS} in the GCC |
264 | distribution. | |
bb5d4e1a | 265 | |
a81ed99e RS |
266 | @item |
267 | Interface GDB to Guile, so that users can write debugging commands in | |
268 | Scheme. This would also make it possible to write, in Scheme, a | |
fff05d88 RS |
269 | graphical interface that uses GTK and is tightly integrated into GDB. |
270 | ||
271 | @item | |
272 | Extend Octave to support programs that were written | |
273 | to run on Khoros. | |
a81ed99e | 274 | |
2eebaacd | 275 | @item |
d71de6f9 JWI |
276 | Rewrite Automake in Scheme, so it can run in Guile. Right now it is |
277 | written in Perl. There are also other programs, not terribly long, | |
278 | which we would also like to have rewritten in Scheme. | |
fff05d88 | 279 | |
b6a061a8 RS |
280 | @item |
281 | Finish the partially-implemented C interpreter project. | |
2eebaacd RS |
282 | |
283 | @item | |
fff05d88 | 284 | Help with the development of GNUstep, a GNU implementation of the |
2eebaacd RS |
285 | OpenStep specification. |
286 | ||
5aba97f2 RS |
287 | @item |
288 | Add features to GNU Make to record the precise rule with which each file | |
289 | was last recompiled; then recompile any file if its rule in the makefile | |
290 | has changed. | |
291 | ||
bb5d4e1a RS |
292 | @item |
293 | Add a few features to GNU @code{diff}, such as handling large input | |
294 | files without reading entire files into core. | |
295 | ||
bb5d4e1a RS |
296 | @item |
297 | An @code{nroff} macro package to simplify @code{texi2roff}. | |
298 | ||
fff05d88 RS |
299 | @item |
300 | An implementation of XML (see @uref{http://www.w3.org/XML/}). | |
301 | ||
bb5d4e1a RS |
302 | @item |
303 | A queueing system for the mailer Smail that groups pending work by | |
304 | destination rather than by original message. This makes it possible | |
305 | to schedule retries coherently for each destination. Talk to | |
fff05d88 | 306 | @email{tron@@veritas.com} about this. |
bb5d4e1a | 307 | |
5aba97f2 | 308 | Smail also needs a new chief maintainer. |
bb5d4e1a | 309 | |
5aba97f2 RS |
310 | @item |
311 | Enhanced cross-reference browsing tools. (We now have something at | |
312 | about the level of @code{cxref}.) We also could use something like | |
313 | @code{ctrace}. (Some people are now working on this project.) | |
bb5d4e1a RS |
314 | @end itemize |
315 | ||
d6eb79ad | 316 | @node X Windows Projects |
d9e60f52 | 317 | @chapter X Windows Projects |
bb5d4e1a | 318 | |
d9e60f52 | 319 | @itemize @bullet |
bb5d4e1a RS |
320 | @item |
321 | An emulator for Macintosh graphics calls on top of X Windows. | |
322 | ||
bb5d4e1a | 323 | @item |
ca0afed9 | 324 | A music playing and editing system. This should work with LilyPond, a |
fff05d88 RS |
325 | GNU program for music typesetting. |
326 | ||
327 | @item | |
328 | An ephemeris program to replace xephem (which is, alas, too restricted | |
329 | to qualify as free software). | |
7263f2f7 | 330 | |
bb5d4e1a RS |
331 | @item |
332 | A program to edit dance notation (such as labanotation) and display | |
333 | dancers moving on the screen. | |
334 | ||
b10fca68 | 335 | @item |
fff05d88 | 336 | Make sure the Vibrant toolkit works with LessTif instead of Motif. |
b10fca68 | 337 | |
bb5d4e1a RS |
338 | @item |
339 | A program to display and edit Hypercard stacks. | |
340 | ||
c05524ad RS |
341 | @item |
342 | A program for graphic morphing of scanned photographs. | |
bb5d4e1a RS |
343 | @end itemize |
344 | ||
ca0afed9 RS |
345 | @node Encryption Projects |
346 | @chapter Encryption Projects | |
bb5d4e1a | 347 | |
ca0afed9 RS |
348 | These projects need to be written outside the US by people who are not |
349 | US citizens, to avoid problems with US export control law. | |
bb5d4e1a | 350 | |
d9e60f52 | 351 | @itemize @bullet |
c05524ad | 352 | @item |
ca0afed9 | 353 | A free library for public-key encryption. |
c05524ad | 354 | |
ca0afed9 | 355 | This library should use the Diffie-Helman algorithm for public key |
c05524ad | 356 | encryption, not the RSA algorithm, because the Diffie-Helman patent in |
fff05d88 RS |
357 | the US expired in 1997. This library can probably be developed from |
358 | the code for the GNU Privacy Guard (now in development). | |
7263f2f7 RS |
359 | |
360 | @item | |
361 | A free secure telnet program more or less like ssh/sshd. Since this | |
fff05d88 RS |
362 | requires a public key encryption algorithm, it should be based |
363 | on the library above. | |
7263f2f7 RS |
364 | |
365 | This program should follow the draft standard for ssh. As always, it | |
366 | cannot implement the RSA algorithm, but must instead support the | |
367 | alternatives that will be patent-free in late 1997. It cannot support | |
f86b32b7 RS |
368 | IDEA, but can use triple-DES and/or Blowfish or other non-patented |
369 | alternatives. | |
c05524ad | 370 | |
bb5d4e1a | 371 | @item |
eee331a5 RS |
372 | Free software for doing secure commercial transactions on the web. |
373 | This too needs public key encryption. | |
ca0afed9 RS |
374 | @end itemize |
375 | ||
fff05d88 RS |
376 | A free replacement for PGP is no longer listed here because the GNU |
377 | Privacy Guard will do that job. | |
378 | ||
ca0afed9 RS |
379 | @node Other Projects |
380 | @chapter Other Projects | |
bb5d4e1a | 381 | |
ca0afed9 | 382 | If you think of others that should be added, please |
fff05d88 | 383 | send them to @email{gnu@@gnu.org}. |
ca0afed9 RS |
384 | |
385 | @itemize @bullet | |
2fea166a JWI |
386 | |
387 | @item | |
388 | A program to reformat HTML source to make it easier to read as HTML. | |
389 | ||
fff05d88 RS |
390 | @item |
391 | A simple PC BIOS. On most new PCs, the BIOS is stored in writable | |
392 | memory (misleadingly known as ``flash ROM''). In order to have a wholly | |
393 | free system on these PCs, we need a free BIOS. | |
394 | ||
395 | This task is made simpler by the fact that this BIOS need only support | |
396 | enough features to enable a boot-loader such as LILO or GRUB to finish | |
397 | loading the kernel. Neither Linux nor Mach actually uses the BIOS once | |
398 | it starts up. Also, it is not absolutely necessary to do all the many | |
399 | diagnostics that an ordinary BIOS does (though it would be useful to do | |
400 | some of them). However, there may be a need to configure certain data | |
401 | in the computer in a way that is specific to each model of computer. | |
402 | ||
a47e454e | 403 | @item |
7c4978a8 RS |
404 | A free program that can transfer files on a serial line |
405 | using the same protocol that Kermit uses. | |
a47e454e | 406 | |
bb5d4e1a RS |
407 | @item |
408 | An imitation of Page Maker or Ventura Publisher. | |
409 | ||
410 | @item | |
411 | An imitation of @code{dbase2} or @code{dbase3} (How dbased!) | |
412 | ||
bb5d4e1a | 413 | @item |
c05524ad RS |
414 | A general ledger program, including support for accounts payable, |
415 | account receivables, payroll, inventory control, order processing, etc. | |
416 | ||
417 | @item | |
418 | A teleconferencing program which does the job of CU-SeeMe (which is, | |
419 | alas, not free software). | |
bb5d4e1a | 420 | |
bb5d4e1a | 421 | @item |
fff05d88 RS |
422 | A free replacement for Glimpse, which is not free software. |
423 | ||
424 | @item | |
425 | A program to typeset C code for printing, to make it easier to read on | |
426 | paper. For ideas on what to do, see the book, | |
bb5d4e1a RS |
427 | |
428 | @display | |
429 | Human Factors and Typography for More Readable Programs, | |
430 | Ronald M. Baecker and Aaron Marcus, | |
431 | Addison-Wesley, ISBN 0-201-10745-7 | |
432 | @end display | |
433 | ||
fff05d88 | 434 | But you don't have to do exactly what they propose. |
bb5d4e1a | 435 | |
fff05d88 RS |
436 | @ignore |
437 | @c This is now being worked on -- rms, 22 June 1998 | |
7c4978a8 | 438 | @item |
541d49e1 JG |
439 | A program to convert Microsoft Word documents to text/enriched, TeX, |
440 | LaTeX, Texinfo, or some other format that free software can edit. | |
fff05d88 RS |
441 | @end ignore |
442 | ||
443 | @ignore | |
444 | @c People are helping the developer of siff release it as free software. | |
7c4978a8 | 445 | |
fff05d88 | 446 | @item |
50b9d07d | 447 | A free replacement for siff (sometimes called sif). This would be a |
fff05d88 RS |
448 | program to find similar files in a large file system, ``similar'' |
449 | meaning that the files contain a significant number of common substrings | |
450 | that are of a certain size or greater. You can find some information | |
451 | about siff (which is, unfortunately, not free software) at | |
452 | @uref{ftp://ftp.cs.arizona.edu/reports/1993/TR93-33.ps.Z}. | |
453 | @end ignore | |
454 | ||
455 | @ignore | |
456 | @c This is being developed -- rms, 3 May 1998 | |
7c4978a8 RS |
457 | @item |
458 | A free replacement for the semi-free Qt library. | |
fff05d88 | 459 | @end ignore |
7c4978a8 | 460 | |
ca0afed9 RS |
461 | @item |
462 | High-quality music compression software. | |
fff05d88 | 463 | (Talk with @email{phr@@netcom.com} for relevant suggestions.) |
ca0afed9 RS |
464 | |
465 | @item | |
466 | A program to play sound distributed in ``Real Audio'' format. | |
467 | ||
468 | @item | |
469 | A program to generate ``Real Audio'' format from audio input. | |
470 | ||
fff05d88 RS |
471 | @item |
472 | Programs to handle audio in RTSP format. | |
473 | ||
632c6364 | 474 | @ignore @c Software patents have made this domain off limits to free software. |
ca0afed9 RS |
475 | @item |
476 | An MPEG III audio encoder/decoder (but it is necessary to check, first, | |
477 | whether patents make this impossible). | |
632c6364 | 478 | @end ignore |
ca0afed9 | 479 | |
bb5d4e1a RS |
480 | @item |
481 | Speech-generation programs (there is a program from Brown U that you | |
482 | could improve). | |
483 | ||
484 | @item | |
948c942f RS |
485 | Speech-recognition programs (single-speaker, disconnected speech is sufficient). |
486 | ||
fff05d88 RS |
487 | @ignore Being done |
488 | @item | |
489 | A program to display text word by word, always showing just one word at | |
490 | a time. This method permits much faster reading than ordinary text | |
491 | display. If you want to work on this, contact @email{stutz@@dsl.org} to | |
492 | learn more. | |
493 | @end ignore | |
494 | ||
bb5d4e1a | 495 | @item |
b6a061a8 RS |
496 | More scientific mathematical subroutines. |
497 | (A clone of SPSS is being written already.) | |
bb5d4e1a RS |
498 | |
499 | @item | |
500 | Statistical tools. | |
501 | ||
eee331a5 RS |
502 | @item |
503 | A scientific data collection and processing tool, | |
504 | perhaps something like Scientific Workbench and/or Khoros, | |
505 | ||
bb5d4e1a RS |
506 | @item |
507 | Software to replace card catalogues in libraries. | |
508 | ||
ca0afed9 RS |
509 | @item |
510 | A project-scheduling package that accepts a list of project sub-tasks | |
511 | with their interdependencies, and generates Gantt charts and Pert charts | |
512 | and all the other standard project progress reports. | |
513 | ||
bb5d4e1a RS |
514 | @item |
515 | Grammar and style checking programs. | |
516 | ||
bb5d4e1a RS |
517 | @item |
518 | A translator from Scheme to C. | |
519 | ||
eee331a5 RS |
520 | @item |
521 | A fast emulator for the i386 which works by translating | |
522 | machine instructions into the machine language of the host machine. | |
523 | (Support for emulation of other machines would enhance the program | |
524 | but might make it much more difficult.) | |
525 | ||
ca0afed9 RS |
526 | @item |
527 | A map display or geographic information system. | |
528 | ||
bb5d4e1a RS |
529 | @item |
530 | Optical character recognition programs; especially if suitable for | |
531 | scanning documents with multiple fonts and capturing font info as well | |
261597d4 | 532 | as character codes. Work is being done on this, but more help is needed. |
5aba97f2 | 533 | |
bb5d4e1a RS |
534 | @item |
535 | A program to scan a line drawing and convert it to Postscript. | |
536 | ||
537 | @item | |
538 | A program to recognize handwriting. | |
539 | ||
540 | @item | |
541 | A pen based interface. | |
542 | ||
bb5d4e1a RS |
543 | @item |
544 | CAD software, such as a vague imitation of Autocad. | |
ca0afed9 RS |
545 | |
546 | @item | |
547 | A program to receive data from a serial-line tap to facilitate the | |
548 | reverse-engineering of communication protocols. | |
bb5d4e1a RS |
549 | @end itemize |
550 | ||
d6eb79ad RS |
551 | @node Compilers |
552 | @chapter Compilers for Other Batch Languages | |
bb5d4e1a | 553 | |
d9e60f52 | 554 | Volunteers are needed to write parsers/front ends for languages such as |
fff05d88 | 555 | Algol 60, Algol 68, PL/I, Cobol, Fortran 90, or whatever, to be |
7c4978a8 | 556 | used with the code generation phases of the GNU C compiler. |
2eebaacd | 557 | |
fff05d88 | 558 | @c Fortran status is here so gnu@gnu.org and the volunteer coordinators |
cab856b0 | 559 | @c don't have to answer the question -len |
2eebaacd | 560 | You can get the status of the Fortran front end with this command: |
cab856b0 | 561 | |
2eebaacd | 562 | @example |
fff05d88 | 563 | finger -l fortran@@gnu.org |
cab856b0 | 564 | @end example |
bb5d4e1a | 565 | |
d6eb79ad RS |
566 | @node Games and Recreations |
567 | @chapter Games and Recreations | |
bb5d4e1a | 568 | |
c05524ad RS |
569 | Video-oriented games that work with the X window system. |
570 | ||
d9e60f52 | 571 | @itemize @bullet |
bb5d4e1a RS |
572 | @item |
573 | Empire (there is a free version but it needs upgrading) | |
574 | ||
2eebaacd RS |
575 | @item |
576 | An ``empire builder'' system that makes it easy to write various kinds of | |
577 | simulation games. | |
578 | ||
c05524ad RS |
579 | @item |
580 | Improve GnuGo, which is not yet very sophisticated. | |
581 | ||
bb5d4e1a | 582 | @item |
fff05d88 RS |
583 | A Hierarchical Task Network package which can be used |
584 | to program play the computer's side in various strategic games. | |
585 | ||
586 | @item | |
587 | Write imitations of some popular video games: | |
bb5d4e1a | 588 | |
d9e60f52 | 589 | @itemize - |
bb5d4e1a RS |
590 | @item |
591 | Space war, Asteroids, Pong, Columns. | |
592 | @item | |
593 | Defending cities from missiles. | |
594 | @item | |
2eebaacd | 595 | Plane shoots at lots of other planes, tanks, etc. |
bb5d4e1a | 596 | @item |
fff05d88 | 597 | Wizard fights fanciful monsters. |
bb5d4e1a RS |
598 | @item |
599 | A golf game. | |
fff05d88 | 600 | @ignore Being done by jhall1@isd.net |
bb5d4e1a RS |
601 | @item |
602 | Program a robot by sticking building blocks together, | |
603 | then watch it explore a world. | |
fff05d88 | 604 | @end ignore |
bb5d4e1a | 605 | @item |
7c4978a8 RS |
606 | Biomorph evolution (as in Scientific American and @cite{The Blind |
607 | Watchmaker}). | |
bb5d4e1a RS |
608 | @item |
609 | A program to display effects of moving at relativistic speeds. | |
610 | @end itemize | |
bb5d4e1a RS |
611 | @end itemize |
612 | ||
613 | We do not need @code{rogue}, as we have @code{hack}. | |
614 | ||
615 | @contents | |
616 | ||
617 | @bye | |
fff05d88 RS |
618 | Local variables: |
619 | update-date-leading-regexp: "@c This date is automagically updated when you save this file:\n@set lastupdate " | |
620 | update-date-trailing-regexp: "" | |
621 | eval: (load "/gd/gnuorg/update-date.el") | |
622 | eval: (add-hook 'write-file-hooks 'update-date) | |
623 | End: |