Updated the "what's new" and todo chapters.

This commit is contained in:
shivers 1997-04-11 17:37:48 +00:00
parent 9dddad54c3
commit 8f6a17af48
4 changed files with 6811 additions and 5859 deletions

File diff suppressed because it is too large Load Diff

View File

@ -24,3 +24,5 @@ Shriram
euler@lavielle.COM (Lutz Euler) 2/24/97
Manual bugs and a bug in stdio->stdports.
Alan Bawden 4/97
Lots of good bug reports and fixes.

View File

@ -1,13 +1,52 @@
%&latex -*- latex -*-
\chapter{Changes from the previous release}
\chapter{Changes from previous releases}
\label{sec:changes}
\newcommand{\itam}[1]{\item {#1} \\}
\section{Changes from the previous release}
This section details changes that have been made in scsh since
the previous release.
Scsh is now much more robust.
All known bugs have been fixed.
There have been many improvements and extensions made.
These new features and changes are listed below, in no particular order;
the relevant sections of the manual give the full details.
Scsh now supports complete {\Posix}, including signal handlers.
Early autoreaping of child processes is now handled by a \ex{SIGCHLD}
signal handler, so children are reaped as early as possible with no
user intervention required.
A functional static heap linker is included in this release.
It is ugly, limited in functionality, and extremely slow, but it works.
It can be used to build scsh binaries that start up instantly.
The regular expression system has been sped up.
Regular-expression compilation is now provided,
and the \ex{awk} macro has been rewritten to pre-compile
regexps used in rules outside the loop.
It is still, however, slower than it should be.
Execing programs should be faster in this release, since we now use the
\ex{CLOEXEC} status bit to get automatic closing of unrevealed
port file descriptors.
{scm}'s floating point support was inadvertently omitted from the last
release. It has been reinstated.
There is now a new command-line switch, \ex{-sfd \var{num}},
which causes scsh to read its script from file descriptor \var{num}.
\section{Changes from the penultimate release}
This section details changes that have been made in scsh since
the penultimate release.
Scsh is now much more robust.
All known bugs have been fixed.
There have been many improvements and extensions made.
@ -17,7 +56,7 @@ The sections below briefly describe these new features and changes;
the relevant sections of the manual give the full details.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{New features}
\subsection{New features}
This release incorporates several new features into scsh.
\begin{itemize}
@ -85,7 +124,7 @@ space in the run-time heap.
\end{itemize}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Incompatible improvements}
\subsection{Incompatible improvements}
Some features of scsh have been improved in ways that are
not backwards-compatible with previous releases.
These changes should not affect most code;
@ -205,7 +244,7 @@ changes of which to be aware are:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Backwards-compatible improvements}
\subsection{Backwards-compatible improvements}
Some existing features in scsh have been improved in ways that will
not effect existing code.

View File

@ -1,54 +1,49 @@
>%&latex -*- latex -*-
%&latex -*- latex -*-
\chapter{Todo}
{\parindent 0pt
We'd love to have have people implement these subsystems and
fold them into the scsh release:
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.
\end{itemize}
\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.
Manual hacking:
\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 Fix up 0-or-more and 1-or-more parameter typesetting, with subscripts.
\item Parameter subscripts need to be made real subscripts.
\item Soup up the markup processor, and redo manual in markup. Generate
LaTeX, HTML, and info versions. Alternatively, persuade some kind
{\LaTeX}, HTML, and info versions. Alternatively, persuade some kind
soul to hand-port manual to HTML or info.
\end{itemize}
Job control, after \ex{jcontrol.scm}
\item Job control, after \ex{jcontrol.scm}
Static heaps; fast startup.
\item Better static heap linker.
Gnu readline lib.
\item Gnu readline lib.
Interrupt system.
Make it all coexist with S48 threads as well as can be done for Unix.
The DEC SRC tech report gives a good discussion of the issues.
Testing broken symlinks---new value for \var{chase?} flag?
Rename and release \ex{ensure-file-name-is-\{non,\}directory}.
More informative errno exception packets \& documentation for them.
Other things should be available: hash tables, sort, list utils, pattern
matchers. But things start to overload. The module system is the appropriate
way to use these.
Need to do file-control (\ie, \ex{fcntl()}).
\ex{fcntl} is ugly.
Better to have a procedure for each different operation.
}
\end{itemize}