S43 is cleanup of S42.
1. The removal of *system* in declarations.shen; it is never used.
2. Removal of several external symbols in various files which
needed once to be declared but not now; the KL is not changed.
3. The removal of char-stoutput? from inside the shen package. This
function tests the stream to see whether it is a char stream
and directs the low level pr to print accordingly. I renamed it
char-stream? and made it part of KL. It cannot be defined in Shen
and does not belong in there.
The utility of the arrangement is that it allows all output to be
redirected to a file by rellocating *stoutput*. This is very useful
in tracing experiments that spew out a lot of text. Here is a test.
(let Screen (value *stoutput*)
Sink (open "test.txt" out)
Redirect (set *stoutput* Sink)
Write (output "hello")
Restore (set *stoutput* Screen)
Close (close Sink)
ok)
I put this in the Test Programs folder.
4. shen.char-stinput? in CL has gone; not needed.
5. S42 improved the sequent compiler but lost the ability to define
polyadic types. I restored this in S43.
I tested all the programs in TBoS and AFAIK they all run successfully.
Mark