Updated the "what's new" and todo chapters.
This commit is contained in:
parent
9dddad54c3
commit
8f6a17af48
12556
doc/scsh-manual.ps
12556
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
|
euler@lavielle.COM (Lutz Euler) 2/24/97
|
||||||
Manual bugs and a bug in stdio->stdports.
|
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 -*-
|
%&latex -*- latex -*-
|
||||||
|
|
||||||
\chapter{Changes from the previous release}
|
\chapter{Changes from previous releases}
|
||||||
\label{sec:changes}
|
\label{sec:changes}
|
||||||
|
|
||||||
\newcommand{\itam}[1]{\item {#1} \\}
|
\newcommand{\itam}[1]{\item {#1} \\}
|
||||||
|
|
||||||
|
\section{Changes from the previous release}
|
||||||
|
|
||||||
This section details changes that have been made in scsh since
|
This section details changes that have been made in scsh since
|
||||||
the previous release.
|
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.
|
Scsh is now much more robust.
|
||||||
All known bugs have been fixed.
|
All known bugs have been fixed.
|
||||||
There have been many improvements and extensions made.
|
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.
|
the relevant sections of the manual give the full details.
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\section{New features}
|
\subsection{New features}
|
||||||
This release incorporates several new features into scsh.
|
This release incorporates several new features into scsh.
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
@ -85,7 +124,7 @@ space in the run-time heap.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\section{Incompatible improvements}
|
\subsection{Incompatible improvements}
|
||||||
Some features of scsh have been improved in ways that are
|
Some features of scsh have been improved in ways that are
|
||||||
not backwards-compatible with previous releases.
|
not backwards-compatible with previous releases.
|
||||||
These changes should not affect most code;
|
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
|
Some existing features in scsh have been improved in ways that will
|
||||||
not effect existing code.
|
not effect existing code.
|
||||||
|
|
|
@ -1,54 +1,49 @@
|
||||||
>%&latex -*- latex -*-
|
%&latex -*- latex -*-
|
||||||
|
|
||||||
\chapter{Todo}
|
\chapter{Todo}
|
||||||
{\parindent 0pt
|
|
||||||
|
|
||||||
We'd love to have have people implement these subsystems and
|
There are always many, many improvements and extensions that could be
|
||||||
fold them into the scsh release:
|
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}
|
\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 More network protocols. Telnet and ftp would be the most important.
|
||||||
\item An ILU interface.
|
\item An ILU interface.
|
||||||
\item An RPC system, with ``tail-recursion.''
|
\item An RPC system, with ``tail-recursion.''
|
||||||
\item Interfaces to relational db's. This would be quite useful for
|
\item Interfaces to relational db's.
|
||||||
Web servers.
|
This would be quite useful for Web servers.
|
||||||
\end{itemize}
|
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}
|
\begin{itemize}
|
||||||
\item The {\LaTeX} hackery needs yet another serious pass. Most importantly,
|
\item The {\LaTeX} hackery needs yet another serious pass. Most importantly,
|
||||||
long procedure ``declarations'' need to be broken across two lines.
|
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
|
\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.
|
soul to hand-port manual to HTML or info.
|
||||||
\end{itemize}
|
\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.
|
\end{itemize}
|
||||||
|
|
||||||
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.
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue