Renamed sb-file.xpm to sb-pg.xpm
[bpt/emacs.git] / etc / tasks.texi
CommitLineData
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:
0848ab8f 6@set lastupdate November 1, 1999
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 21This file is updated automatically from @file{tasks.texi}, which was
0848ab8f
BY
22last updated on @value{lastupdate}. See also
23@uref{http://www.gnu.org/help/help.html#helpgnu} for other suggested
24tasks.
bb5d4e1a
RS
25@end ifinfo
26
bb5d4e1a 27@menu
6af1f598
JWI
28* Intro::
29* Highest Priority::
30* Documentation::
31* Unix-Related Projects::
32* Kernel Projects::
33* Extensions::
34* X Windows Projects::
35* Network Projects::
36* Encryption Projects::
37* Other Projects::
38* Languages::
39* Games and Recreations::
bb5d4e1a
RS
40@end menu
41
6af1f598 42@node Intro, Highest Priority, Top, Top
c05524ad
RS
43@chapter About the GNU Task List
44
7c4978a8 45If you did not obtain this file directly from the GNU project and
9459fac1
JG
46recently, please check for a newer version. You can ftp the task list
47from any GNU FTP host in directory @file{/pub/gnu/tasks/}. The task
7c4978a8 48list is available there in several different formats: @file{tasks.text},
541d49e1
JG
49@file{tasks.texi}, @file{tasks.info}, and @file{tasks.dvi}. The GNU
50HURD task list is also there in file @file{tasks.hurd}.
51@c to fix an overfill, join the paragraphs -len
7c4978a8 52The task list is also available on the GNU World Wide Web server:
fff05d88 53@uref{http://www.gnu.org/prep/tasks_toc.html}.
c05524ad 54
fff05d88 55If you start working steadily on a project, please let @email{gvc@@gnu.org}
d9e60f52
DM
56know. We might have information that could help you; we'd also like to
57send you the GNU coding standards.
bb5d4e1a 58
c05524ad
RS
59Because of the natural tendency for most volunteers to write programming
60tools or programming languages, we have a comparative shortage of
61applications useful for non-programmer users. Therefore, we ask you to
62consider writing such a program.
bb5d4e1a 63
d17fd035
RS
64Typically, a new program that does a completely new job advances
65the GNU project, and the free software community, more than an
66improvement to an existing program.
67
68Typically, new features or new programs advance the free software
69community more, in the long run, than porting existing programs. One
70reason is that portable new features and programs benefit people on many
71platforms, not just one. At the same time, there tend to be many
72volunteers for porting---so your help will be more valuable in other
73areas, where volunteers are more scarce.
74
75Typically, it is more useful to extend a program in functionality than
76to improve performance. Users who use the new functionality will
77appreciate it very much, if they use it; but even when they benefit from
78a performance improvement, they may not consider it very important.
bb5d4e1a 79
6af1f598 80@node Highest Priority, Documentation, Intro, Top
7c4978a8
RS
81@chapter Highest Priority
82
83This task list mentions a large number of tasks that would be more or
84less useful. With luck, at least one of them will inspire you to start
85writing. It's better for you to work on any task that inspires you than
86not write free software at all.
87
88But if you would like to work on what we need most, here is a list of
89high priority projects.
90
91@itemize @bullet
92@item
632c6364 93If you are good at writing documentation, please do that.
7c4978a8
RS
94
95@item
96If you are very good at C programming and interested in kernels, you can
541d49e1 97help develop the GNU HURD, the kernel for the GNU system. Please have a
fff05d88 98look at @uref{http://www.gnu.org/software/hurd/hurd.html}, and
541d49e1
JG
99then get a copy of the latest HURD task list from:
100
101@itemize @bullet
102
103@item
fff05d88 104@uref{http://www.gnu.org/prep/tasks.hurd.html}, via the World Wide
541d49e1
JG
105Web.
106
107@item
fff05d88 108@uref{ftp://ftp.gnu.org/pub/gnu/tasks/tasks.hurd}, via anonymous FTP.
541d49e1
JG
109
110@item
fff05d88 111@email{gnu@@gnu.org} via e-mail.
541d49e1
JG
112
113@end itemize
7c4978a8
RS
114
115@item
541d49e1 116If you are a Scheme fan, you can help develop Guile. Please have a look
fff05d88
RS
117at the URL @uref{http://www.gnu.org/software/guile/guile.html}
118and then contact the Guile developers at @email{guile@@gnu.org}.
7c4978a8 119
9dde84c6
RS
120@item
121A package to convert programs written using MS Access into Scheme,
122making use of a free data base system and the GTK toolkit.
123
acb0ff5c 124@ignore
7c4978a8 125@item
0f82d9d8 126Help develop XmHTML. See @uref{http://www.xs4all.nl/~ripley/XmHTML/}.
acb0ff5c 127@end ignore
7c4978a8
RS
128
129@item
fff05d88
RS
130Help develop software to emulate Windows NT on top of GNU systems.
131For example, you could help work on Willows Twin.
0f82d9d8 132See @uref{http://www.willows.com/}.
7c4978a8 133
f00afe93
RS
134@ignore The Kermit developers say they will provide a free program
135to do this.
7c4978a8
RS
136@item
137Implement the Kermit data transfer protocol. (See below.)
f00afe93 138@end ignore
7c4978a8 139
fff05d88 140@ignore This is being done (Harmony)
7c4978a8 141@item
632c6364
RS
142Develop a free compatible replacement for Qt, a GUI toolkit library. Qt
143is not free software, because users are prohibited from distributing
144modified versions. Thus, Qt cannot be included in a free operating
145system (adding it would make the system as a whole non-free).
146
147But some developers are writing free applications that use Qt and cannot
148run without it. These programs, although free software, are useless for
149free operating systems because there is no way to make them run.
150
151This is leading to a serious problem, and a free replacement for Qt is
152the only solution. Hence the high degree of urgency of this project.
fff05d88
RS
153@end ignore
154
7c4978a8
RS
155@item
156Develop a substitute, which runs on GNU systems, for some very popular
157or very important application that many non-programmers use on Windows,
158and which has no comparable free equivalent now.
159@end itemize
160
6af1f598 161@node Documentation, Unix-Related Projects, Highest Priority, Top
bb5d4e1a
RS
162@chapter Documentation
163
fff05d88
RS
164We very urgently need documentation for many existing parts of the
165system.
166
167Note that there are proprietary manuals for many of these topics, but
0f82d9d8
RS
168proprietary manuals do not count, for the same reason proprietary
169software does not count: we are not free to copy and modify them.
170We do not recommend any non-free materials as documentation.
bb5d4e1a
RS
171
172@itemize @bullet
242621f3 173@item
24fad2a2 174A manual for libstdc++.
242621f3 175
0f82d9d8
RS
176@item
177A unified manual for La@TeX{}. (Existing documentation is non-free.)
178
179@item
f1679dc8 180A manual for Docbook SGML format.
0f82d9d8
RS
181
182@item
f1679dc8 183A tutorial introduction to Midnight Commander.
0f82d9d8
RS
184
185@item
186A thorough manual for RCS.
187
188@item
189A reference manual for Mach.
190
191@item
192A reference manual for the GNU Hurd features in GNU libc.
193
194@item
195A manual for writing Hurd servers.
196
acb0ff5c
BY
197@item
198A manual for GNU sed.
199
fff05d88 200@item
0f82d9d8
RS
201Reference manuals for C++, Objective C, Pascal, Fortran 77, and Java.
202
203@item
204A tutorial manual for the C++ STL (standard template library).
205
3c307b90 206@item
1eb87eaf 207A tutorial manual for Gforth.
3c307b90 208
0f82d9d8
RS
209@item
210GNU Objective-C Runtime Library Manual; this would be a reference manual
211for the runtime library functions, structures, and classes. Some work
212has been done on this job.
213
214@item
215Manuals for GNUstep: developer tutorial, developer programming manual,
216developer reference manual, and user manual.
fff05d88 217
bb5d4e1a
RS
218@item
219A manual for Ghostscript.
c05524ad 220
c05524ad
RS
221@item
222A manual for TCSH.
bb5d4e1a
RS
223
224@item
dc32c4fa
RS
225A coherent free reference manual for Perl. Most of the Perl on-line
226reference documentation can be used as a starting point, but work is
227needed to weld them together into a coherent manual.
bb5d4e1a 228
bb5d4e1a 229@item
fff05d88
RS
230A good free Perl language tutorial introduction. The existing Perl
231introductions are published with restrictions on copying and
232modification, so that they cannot be part of a GNU system.
233
234@item
235A manual for PIC (the graphics formatting language).
bb5d4e1a
RS
236
237@item
238A book on how GCC works and why various machine descriptions
239are written as they are.
240
241@item
0f82d9d8 242A manual for programming applications for X11.
bb5d4e1a
RS
243
244@item
245Manuals for various X window managers.
246
247@item
261597d4 248Reference cards for those manuals that don't have them: C
c05524ad 249Compiler, Make, Texinfo, Termcap, and maybe the C Library.
bb5d4e1a
RS
250
251@item
261597d4 252Many utilities need documentation, including @code{grep} and others.
bb5d4e1a
RS
253@end itemize
254
6af1f598 255@node Unix-Related Projects, Kernel Projects, Documentation, Top
d9e60f52 256@chapter Unix-Related Projects
bb5d4e1a 257
d9e60f52 258@itemize @bullet
5aba97f2 259@ignore
bb5d4e1a
RS
260@item
261Modify the GNU @code{dc} program to use the math routines of GNU
262@code{bc}.
5aba97f2 263@end ignore
bb5d4e1a 264
bb5d4e1a 265@item
fff05d88
RS
266Less urgent: make a replacement for the ``writer's workbench'' program
267@code{style}, or something to do the same kind of job. Compatibility
f5c525cd 268with Unix is not especially important for this program.
bb5d4e1a
RS
269@end itemize
270
6af1f598 271@node Kernel Projects, Extensions, Unix-Related Projects, Top
d9e60f52 272@chapter Kernel-Related Projects
bb5d4e1a 273
d9e60f52 274@itemize @bullet
bb5d4e1a 275@item
5aba97f2 276An over-the-ethernet debugger stub that will allow the kernel to be
bb5d4e1a
RS
277debugged from GDB running on another machine.
278
5aba97f2
RS
279This stub needs its own self-contained implementation of all protocols
280to be used, since the GNU system will use user processes to implement
281all but the lowest levels, and the stub won't be able to use those
282processes. If a simple self-contained implementation of IP and TCP is
283impractical, it might be necessary to design a new, simple protocol
284based directly on ethernet. It's not crucial to support high speed or
285communicating across gateways.
286
287It might be possible to use the Mach ethernet driver code, but it would
288need some changes.
289
bb5d4e1a
RS
290@item
291A shared memory X11 server to run under MACH is very desirable. The
292machine specific parts should be kept well separated.
c05524ad
RS
293
294@item
295An implementation of CIFS, the ``Common Internet File System,'' for the
296HURD. This protocol is an offshoot of SMB.
c6d6677e
RS
297
298@item
299Support (in Linux?) for dumping the non-textual contents of an SVGA
300console.
bb5d4e1a
RS
301@end itemize
302
6af1f598 303@node Extensions, X Windows Projects, Kernel Projects, Top
d9e60f52 304@chapter Extensions to Existing GNU Software
bb5d4e1a 305
d9e60f52 306@itemize @bullet
bb5d4e1a 307@item
d9e60f52
DM
308Enhance GCC. See files @file{PROJECTS} and @file{PROBLEMS} in the GCC
309distribution.
bb5d4e1a 310
a81ed99e
RS
311@item
312Interface GDB to Guile, so that users can write debugging commands in
313Scheme. This would also make it possible to write, in Scheme, a
fff05d88
RS
314graphical interface that uses GTK and is tightly integrated into GDB.
315
316@item
317Extend Octave to support programs that were written
318to run on Khoros.
a81ed99e 319
2eebaacd 320@item
d71de6f9
JWI
321Rewrite Automake in Scheme, so it can run in Guile. Right now it is
322written in Perl. There are also other programs, not terribly long,
323which we would also like to have rewritten in Scheme.
fff05d88 324
b6a061a8
RS
325@item
326Finish the partially-implemented C interpreter project.
2eebaacd
RS
327
328@item
fff05d88 329Help with the development of GNUstep, a GNU implementation of the
2eebaacd
RS
330OpenStep specification.
331
5aba97f2
RS
332@item
333Add features to GNU Make to record the precise rule with which each file
334was last recompiled; then recompile any file if its rule in the makefile
335has changed.
336
bb5d4e1a
RS
337@item
338Add a few features to GNU @code{diff}, such as handling large input
339files without reading entire files into core.
340
bb5d4e1a
RS
341@item
342An @code{nroff} macro package to simplify @code{texi2roff}.
343
344@item
345A queueing system for the mailer Smail that groups pending work by
346destination rather than by original message. This makes it possible
347to schedule retries coherently for each destination. Talk to
fff05d88 348@email{tron@@veritas.com} about this.
bb5d4e1a 349
5aba97f2 350Smail also needs a new chief maintainer.
bb5d4e1a 351
5aba97f2
RS
352@item
353Enhanced cross-reference browsing tools. (We now have something at
354about the level of @code{cxref}.) We also could use something like
355@code{ctrace}. (Some people are now working on this project.)
bb5d4e1a
RS
356@end itemize
357
6af1f598 358@node X Windows Projects, Network Projects, Extensions, Top
d9e60f52 359@chapter X Windows Projects
bb5d4e1a 360
d9e60f52 361@itemize @bullet
bb5d4e1a
RS
362@item
363An emulator for Macintosh graphics calls on top of X Windows.
364
0f82d9d8
RS
365@item
366A package that emulates the API of Visual C++, but operates on top of
367X11. It need not match the screen appearance of Visual C++. Instead,
368it would be best to use GTK, so as to give coherence with GNOME.
369
370@item
371A compatible replacement for Visual Basic, running on top of X11.
372It need not match the screen appearance of Visual C++. Instead,
373it would be best to use GTK, so as to give coherence with GNOME.
374
bb5d4e1a 375@item
ca0afed9 376A music playing and editing system. This should work with LilyPond, a
fff05d88
RS
377GNU program for music typesetting.
378
0f82d9d8
RS
379@item
380An ear-training program for students of music.
381
acb0ff5c 382@ignore @c GNUskies should do this
fff05d88
RS
383@item
384An ephemeris program to replace xephem (which is, alas, too restricted
385to qualify as free software).
acb0ff5c 386@end ignore
7263f2f7 387
bb5d4e1a
RS
388@item
389A program to edit dance notation (such as labanotation) and display
390dancers moving on the screen.
391
b10fca68 392@item
fff05d88 393Make sure the Vibrant toolkit works with LessTif instead of Motif.
b10fca68 394
bb5d4e1a
RS
395@item
396A program to display and edit Hypercard stacks.
397
acb0ff5c
BY
398@item
399A two-dimensional outliner program, which lets you draw
400graph structures of textual items, and then display them
401in various ways.
402
c05524ad
RS
403@item
404A program for graphic morphing of scanned photographs.
0f82d9d8
RS
405
406@item
407Software for designing and printing business cards.
bb5d4e1a
RS
408@end itemize
409
6af1f598 410@node Network Projects, Encryption Projects, X Windows Projects, Top
ab9ca9c7
JWI
411@chapter Network Projects
412
413@itemize @bullet
3b72e81d
JE
414@ignore
415@c www.openh323.org is doing this. Craig Southeren <craigs@equival.com.au>
ab9ca9c7
JWI
416@item
417A teleconferencing program which does the job of CU-SeeMe (which is,
418alas, not free software).
3b72e81d 419@end ignore
ab9ca9c7 420
2f845c34
KH
421@ignore
422@c Bishop Bettini <bishop@synxcti.com> is working on this.
ab9ca9c7
JWI
423@item
424A free ICQ-compatible server program. (The ICQ server itself is not
425free software.)
2f845c34
KH
426@end ignore
427
ab9ca9c7
JWI
428@end itemize
429
6af1f598 430@node Encryption Projects, Other Projects, Network Projects, Top
ca0afed9 431@chapter Encryption Projects
bb5d4e1a 432
ca0afed9
RS
433These projects need to be written outside the US by people who are not
434US citizens, to avoid problems with US export control law.
bb5d4e1a 435
d9e60f52 436@itemize @bullet
c05524ad 437@item
ca0afed9 438A free library for public-key encryption.
c05524ad 439
ca0afed9 440This library should use the Diffie-Helman algorithm for public key
c05524ad 441encryption, not the RSA algorithm, because the Diffie-Helman patent in
fff05d88
RS
442the US expired in 1997. This library can probably be developed from
443the code for the GNU Privacy Guard (now in development).
7263f2f7 444
dc32c4fa
RS
445@item
446An implementation of SSLv3 (more precisely, TLSv1) which is patent-free
447(uses the non-RSA algorithms) and has distribution terms compatible with
448the GNU GPL. We know of a GPL-covered implemention of a version of SSL
449that you can use as a starting point.
450
bb5d4e1a 451@item
eee331a5
RS
452Free software for doing secure commercial transactions on the web.
453This too needs public key encryption.
ca0afed9
RS
454@end itemize
455
dc32c4fa
RS
456The projects to provide free replacements for PGP and SSH are no longer
457listed here, because projects to do those jobs are well under way.
fff05d88 458
6af1f598 459@node Other Projects, Languages, Encryption Projects, Top
ca0afed9 460@chapter Other Projects
bb5d4e1a 461
ca0afed9 462If you think of others that should be added, please
fff05d88 463send them to @email{gnu@@gnu.org}.
ca0afed9
RS
464
465@itemize @bullet
c6d6677e 466@ignore OpenBIOS is doing this
fff05d88
RS
467@item
468A simple PC BIOS. On most new PCs, the BIOS is stored in writable
469memory (misleadingly known as ``flash ROM''). In order to have a wholly
470free system on these PCs, we need a free BIOS.
471
472This task is made simpler by the fact that this BIOS need only support
473enough features to enable a boot-loader such as LILO or GRUB to finish
474loading the kernel. Neither Linux nor Mach actually uses the BIOS once
475it starts up. Also, it is not absolutely necessary to do all the many
476diagnostics that an ordinary BIOS does (though it would be useful to do
477some of them). However, there may be a need to configure certain data
478in the computer in a way that is specific to each model of computer.
c6d6677e 479@end ignore
fff05d88 480
8d6ebf2e 481@ignore Frank Cruz promises a free version
a47e454e 482@item
7c4978a8
RS
483A free program that can transfer files on a serial line
484using the same protocol that Kermit uses.
8d6ebf2e 485@end ignore
a47e454e 486
bb5d4e1a
RS
487@item
488An imitation of Page Maker or Ventura Publisher.
489
490@item
f5c525cd
KH
491An imitation of @code{dbase2} or @code{dbase3}. (How dbased!)
492@uref{http://www.startech.keller.tx.us/xbase/xbase.html} may contain
493some useful stuff to start with.
bb5d4e1a 494
acb0ff5c 495@ignore @c being done by Jonas etc.
bb5d4e1a 496@item
c05524ad
RS
497A general ledger program, including support for accounts payable,
498account receivables, payroll, inventory control, order processing, etc.
acb0ff5c 499@end ignore
c05524ad 500
bb5d4e1a 501@item
fff05d88
RS
502A free replacement for Glimpse, which is not free software.
503
0f82d9d8
RS
504@item
505Software for desktop publishing. We are extending Emacs into a WYSIWYG
506word processor, to handle primarily linear text; what this item proposes
507is software focused on page layout.
508
283fd8a7 509@ignore It looks like TruePrint will fill this gap
fff05d88
RS
510@item
511A program to typeset C code for printing, to make it easier to read on
512paper. For ideas on what to do, see the book,
bb5d4e1a
RS
513
514@display
515Human Factors and Typography for More Readable Programs,
516Ronald M. Baecker and Aaron Marcus,
517Addison-Wesley, ISBN 0-201-10745-7
518@end display
519
fff05d88 520But you don't have to do exactly what they propose.
283fd8a7 521@end ignore
bb5d4e1a 522
fff05d88
RS
523@ignore
524@c This is now being worked on -- rms, 22 June 1998
7c4978a8 525@item
541d49e1
JG
526A program to convert Microsoft Word documents to text/enriched, TeX,
527LaTeX, Texinfo, or some other format that free software can edit.
fff05d88
RS
528@end ignore
529
530@ignore
531@c People are helping the developer of siff release it as free software.
7c4978a8 532
fff05d88 533@item
50b9d07d 534A free replacement for siff (sometimes called sif). This would be a
fff05d88
RS
535program to find similar files in a large file system, ``similar''
536meaning that the files contain a significant number of common substrings
537that are of a certain size or greater. You can find some information
538about siff (which is, unfortunately, not free software) at
539@uref{ftp://ftp.cs.arizona.edu/reports/1993/TR93-33.ps.Z}.
540@end ignore
541
542@ignore
543@c This is being developed -- rms, 3 May 1998
7c4978a8
RS
544@item
545A free replacement for the semi-free Qt library.
fff05d88 546@end ignore
7c4978a8 547
ca0afed9
RS
548@item
549High-quality music compression software.
fff05d88 550(Talk with @email{phr@@netcom.com} for relevant suggestions.)
c6d6677e
RS
551Unfortunately we cannot implement the popular MP3 format
552due to patents, so this job includes working out some other
553non-patented format and compression method.
ca0afed9
RS
554
555@item
556A program to play sound distributed in ``Real Audio'' format.
557
558@item
559A program to generate ``Real Audio'' format from audio input.
560
fff05d88
RS
561@item
562Programs to handle audio in RTSP format.
563
632c6364 564@ignore @c Software patents have made this domain off limits to free software.
ca0afed9
RS
565@item
566An MPEG III audio encoder/decoder (but it is necessary to check, first,
567whether patents make this impossible).
568
ab9ca9c7 569@c Chris Hofstader is working on this.
bb5d4e1a
RS
570@item
571Speech-generation programs (there is a program from Brown U that you
572could improve).
573
ab9ca9c7 574@c We have a project now.
bb5d4e1a 575@item
948c942f 576Speech-recognition programs (single-speaker, disconnected speech is sufficient).
ab9ca9c7 577@end ignore
948c942f 578
1c5d31a7
JWI
579@item
580A braille translation and formatting system which can convert marked up
581documents into braille. This should let the user customize the braille
582translation rules; it would be good to divide it into a
583device-independent part plus drivers. Contact Jason White,
0fd51ae1 584@email{jasonw@@ariel.ucs.unimelb.EDU.AU}.
1c5d31a7 585
fff05d88
RS
586@ignore Being done
587@item
588A program to display text word by word, always showing just one word at
589a time. This method permits much faster reading than ordinary text
590display. If you want to work on this, contact @email{stutz@@dsl.org} to
591learn more.
592@end ignore
593
bb5d4e1a 594@item
b6a061a8
RS
595More scientific mathematical subroutines.
596(A clone of SPSS is being written already.)
bb5d4e1a
RS
597
598@item
599Statistical tools.
600
eee331a5
RS
601@item
602A scientific data collection and processing tool,
603perhaps something like Scientific Workbench and/or Khoros,
604
dd7dc1f9
JG
605@item
606A program to calculate properties of molecules by solving
607the Schroedinger equation.
608
bb5d4e1a
RS
609@item
610Software to replace card catalogues in libraries.
611
3ab93df3
BY
612@item
613A simulator for heating and air conditioning systems for buildings.
614
d2c1d7a8
KH
615@item
616A package for editing genealogical records conveniently.
617This could perhaps be done as a Gnome program, or perhaps
c04006ac 618as an Emacs extension.
d2c1d7a8 619
ca0afed9
RS
620@item
621A project-scheduling package that accepts a list of project sub-tasks
622with their interdependencies, and generates Gantt charts and Pert charts
623and all the other standard project progress reports.
624
bb5d4e1a
RS
625@item
626Grammar and style checking programs.
627
608369ba
JG
628@item
629A diagnostic program to test a hard disk.
630
eee331a5 631@item
ac01a1c0
RS
632A fast emulator for the i386, which would make it possible
633to emulate x86 code on other CPUs, and also to more easily
634debug kernels such as Linux more conveniently.
635
636To make this faster, it could work by translating machine instructions
637into the machine language of the host machine.
eee331a5 638
bb5d4e1a
RS
639@item
640Optical character recognition programs; especially if suitable for
641scanning documents with multiple fonts and capturing font info as well
261597d4 642as character codes. Work is being done on this, but more help is needed.
5aba97f2 643
bb5d4e1a
RS
644@item
645A program to scan a line drawing and convert it to Postscript.
646
647@item
648A program to recognize handwriting.
649
650@item
651A pen based interface.
652
bb5d4e1a
RS
653@item
654CAD software, such as a vague imitation of Autocad.
ca0afed9
RS
655
656@item
657A program to receive data from a serial-line tap to facilitate the
658reverse-engineering of communication protocols.
bb5d4e1a
RS
659@end itemize
660
6af1f598 661@node Languages, Games and Recreations, Other Projects, Top
0f82d9d8 662@chapter Programming Languages
bb5d4e1a 663
d9e60f52 664Volunteers are needed to write parsers/front ends for languages such as
0b2a408e 665Algol 60, Algol 68, PL/I, Cobol, Fortran 90, Delphi, Modula 2, Modula 3,
595ab6b8
JE
666RPG, and any other languages designed for compilation, to be used with
667the code generation phases of the GNU C compiler.
2eebaacd 668
fff05d88 669@c Fortran status is here so gnu@gnu.org and the volunteer coordinators
cab856b0 670@c don't have to answer the question -len
2eebaacd 671You can get the status of the Fortran front end with this command:
cab856b0 672
2eebaacd 673@example
fff05d88 674finger -l fortran@@gnu.org
cab856b0 675@end example
bb5d4e1a 676
0f82d9d8 677We would like to have translators from various languages into Scheme.
dc32c4fa 678These languages include TCL, Python, Perl, Java, Javascript, and Rexx.
0f82d9d8
RS
679
680We would like to have an implementation of Clipper, perhaps a GCC front
681end, and perhaps a translator into Scheme.
682
6af1f598 683@node Games and Recreations, , Languages, Top
d6eb79ad 684@chapter Games and Recreations
bb5d4e1a 685
c05524ad
RS
686Video-oriented games that work with the X window system.
687
d9e60f52 688@itemize @bullet
bb5d4e1a
RS
689@item
690Empire (there is a free version but it needs upgrading)
691
2eebaacd
RS
692@item
693An ``empire builder'' system that makes it easy to write various kinds of
694simulation games.
695
c05524ad
RS
696@item
697Improve GnuGo, which is not yet very sophisticated.
698
0f82d9d8
RS
699@item
700Network servers and clients for board and card games for which such
701software does not yet exist.
702
bb5d4e1a 703@item
fff05d88
RS
704A Hierarchical Task Network package which can be used
705to program play the computer's side in various strategic games.
706
707@item
708Write imitations of some popular video games:
bb5d4e1a 709
d9e60f52 710@itemize -
bb5d4e1a
RS
711@item
712Space war, Asteroids, Pong, Columns.
713@item
714Defending cities from missiles.
715@item
2eebaacd 716Plane shoots at lots of other planes, tanks, etc.
bb5d4e1a 717@item
fff05d88 718Wizard fights fanciful monsters.
bb5d4e1a
RS
719@item
720A golf game.
fff05d88 721@ignore Being done by jhall1@isd.net
bb5d4e1a
RS
722@item
723Program a robot by sticking building blocks together,
724then watch it explore a world.
fff05d88 725@end ignore
bb5d4e1a 726@item
7c4978a8
RS
727Biomorph evolution (as in Scientific American and @cite{The Blind
728Watchmaker}).
bb5d4e1a
RS
729@item
730A program to display effects of moving at relativistic speeds.
731@end itemize
bb5d4e1a
RS
732@end itemize
733
734We do not need @code{rogue}, as we have @code{hack}.
735
736@contents
737
738@bye
fff05d88
RS
739Local variables:
740update-date-leading-regexp: "@c This date is automagically updated when you save this file:\n@set lastupdate "
741update-date-trailing-regexp: ""
742eval: (load "/gd/gnuorg/update-date.el")
743eval: (add-hook 'write-file-hooks 'update-date)
744End: