Updated the "what's new" and todo chapters.
This commit is contained in:
parent
9dddad54c3
commit
8f6a17af48
12538
doc/scsh-manual.ps
12538
doc/scsh-manual.ps
File diff suppressed because it is too large
Load Diff
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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}
|
||||
|
|
Loading…
Reference in New Issue