%&latex -*- latex -*- \chapter{Todo} There are always many, many improvements and extensions that could be made to scsh. We invite interested hackers to do any of them, and send us the code; we'll put you on the team. Visit the Scheme Underground Web page for more information on good hacks at \begin{tightinset}\verb|http://www.ai.mit.edu/projects/su/| \end{tightinset} Scsh is a tool that lets you write fun programs that do real things in an elegant language; go wild. \begin{itemize} \item Threads. \item An X gui interface. (Needs threads.) \item A better C function/data-structure interface. This is not easy. \item More network protocols. Telnet and ftp would be the most important. \item An ILU interface. \item An RPC system, with ``tail-recursion.'' \item Interfaces to relational db's. This would be quite useful for Web servers. An s-expression embedding of SQL would be a key design component of such a system, along the lines of scsh's process notation or \ex{awk} notation. \item Port Edwin, and emacs text editor written in MIT Scheme, to scsh. Combine it with scsh's OS interfaces to make a visual shell. \item An \ex{expect} knock-off. \item A \ex{make} replacement, using scsh's process notation in the build rules. \item Manual hacking. \begin{itemize} \item The {\LaTeX} hackery needs yet another serious pass. Most importantly, long procedure ``declarations'' need to be broken across two lines. \item Soup up the markup processor, and redo manual in markup. Generate {\LaTeX}, HTML, and info versions. Alternatively, persuade some kind soul to hand-port manual to HTML or info. \end{itemize} \item Job control, after \ex{jcontrol.scm} \item Better static heap linker. \item Gnu readline lib. \end{itemize}