8/11/71   - JONL - 

FOR SOME TIME THERE HAS BEEN A WINNING, BUT AS YET UNADVERTISED, 
FEATURE IN THE TRACE PACKAGE.  ONE MAY SPECIFY A TRACE OF THE 
FUNCTION FOO ONLY FOR THOSE CALLS TO FOO WHICH ARE DIRECTLY CALLED 
FROM THE FUNCTION BAR BY SAYING:
	(TRACE (FOO WHEREIN BAR . . .))
THE . . . TAKES THE PLACE OF THE REMAINDER OF THE TRACING 
SPECIFICATION, E.G. (TRACE (FOO WHEREIN BAR COND (NULL X) BOTH))
SUCH A TRACE IS REMOVED BY SAYING (UNTRACE (FOO WHEREIN BAR))
OR BY THE GENERAL UNTRACING  OF SAYING (UNTRACE).


SETQ NOW TAKES MULTIPLE PAIRS OF ARGUMENTS, AS IN
		(SETQ A 1 B 25 C A)
THE ORDER OF EVALUATION IS SEQUENTIAL AS IF SEVERAL SETQ
STATEMENTS HAD BEEN WRITTEN, SO THAT IN THE ABOVE EXAMPLE C WOULD
ALSO BE GIVEN THE VALUE 1.

INTERRUPT NUMBER 9 IN THE USER'S INTERUPT TABLE IS THE FUNCTION
CALLED WHEN AN ERROR CAUSES RESTORE TO TOP LEVEL [AND  *RSET = T] 
CURRENTLY IT IS (LAMBDA (*RSET) (IOG NIL (BREAK *RSET T)))
THUS THE USER CAN CHANGE THIS FUNCTION AT WILL, AS WELL AS THE 
^H BREAK INTERRUPT FUNCTION [INTERRUPT NUMBER 1].

THREE MORE STATUS GOODIES ARE AVAILABLE: (STATUS GCTIM) RETURNS THE
TOTAL AMOUNT OF TIME (IN MICROSECONDS) SPEND IN GARBAGE COLLECTION.
(SSTATUS GCTIM V) WILL RESET THIS COUNTER TO THE VALUE OF V. 
(STATUS TTY) IS THE SAME AS THE VALUE OF THE TOP LEVEL VARIABLE TTY -
NAMELY NIL IF THE CURRENTLY ATTACHED CONSOLE IS A PRINTING
TELETYPE, AND NON-NIL IF A DISPLAY-TYPE TERMINAL. (SSTATUS TTY N1 N2)
HOWEVER, SETS THE TELETYPE WAKE-UP AND CONTROL CHARACTERISTICS FOR
CHARACTERS TYPED ON THE JOB CONSOLE. SEE JONL OR A SYSTEM HACKER FOR 
MORE INFORMATION AS TO WHAT THIS MEANS.  THERE IS A SIMULATED 
VIDISSECTOR AVAILABLE, WHOSE FEATURES HAVE YET TO BE SOLIDIFIED, 
BUT WHICH WILL BE SELECTED BY SOME SORT OF SSTATUS CALL SUCH AS 
(SSTATUS FTV T).

JUST A REMINDER OF A FEW LITTLE UNDERSTOOD POINTS OF THE CURRENT 
LISP: 		(BREAK IDENTIFIER PREDICATE) AND 
		(BREAK IDENTIFIER PREDICATE RETURNVALUE)
BOTH WILL "BREAK" IF PREDICATE EVALUATES TO NON-NIL [OFTEN ONE 
SIMPLY MAKES PREDICATE = T].  A "BREAK" CAUSES IDENTIFIER TO BE 
PRINTED OUT, TELETYPE INPUT AND OUTPUT TO BE SELECTED, AND AN
ERRSET-PROTECTED READ-EVAL-PRINT LOOP TO BE ENTERED. THE NORMAL
EXIT IS OBTAINED BY TYPING THE ATOM P [NEEDS THREE STROKES OF
THE KEYBOARD - <ALTMODE><P><SPACE>]. TYPING ^G WILL RESTORE TO THE 
TOP LEVEL OF LISP, BUT BECAUSE OF THE ERRSET PROTECTION, A ^X WILL 
SIMPLY RESTART THE BREAKLOOP OVER AGAIN. THE VALUE OF A BREAK IS 
EITHER THE VALUE OF RETURNVALUE AS IN THE SECOND EXAMPLE ABOVE, 
OR ELSE NIL.
    IF ONE TYPES ^G ANYTIME DURING THE ALLOCATION PHASE, THEN IT 
WILL BE RESTARTED; IF HE TYPES  <ALTMODE>, THEN IT WILL BE FORCED 
TO FINISH WITH THE REMAINING OPTIONS TAKEN FROM THE DEFAULT CASES.
NUMBERS TYPED DURING THE ALLOCATION PHASE ARE TAKEN BASE EIGHT 
UNLESS SUFFIXED BY A DECIMAL POINT, IN WHICH CASE THEY ARE BASE TEN.
IF ONE RESPONDS BY TYPING ^Q OR ^W AT THE REQUEST  "ALLOC?",
THEN HIS USER DISK FILE DIRECTORY IS SEARCHED FOR A FILE NAMED 
.LISP. (INIT)  
IF ONE EXISTS, IT IS OPENED AND THE ALLOCATION REQUESTS ARE TAKEN 
FROM THE FIRST S-EXPRESSION ON THE FILE, WHICH MUST BE OF THE 
FOLLOWIN FORMAT:
	(COMMENT CORE 34 FXS 1000 FLS 100 REGPDL 1400 
		 SPECPDL 1000 FXPDL 400 FLPDL 10 BPS 600)
NOT ALL OF THE QUANTITIES NEED BE TYPED, THE MISSING ONES BEING 
FILLED IN WITH THE DEFAULT VALUES.  AFTER ALLOCATION, THIS FILE 
STILL REMAINS OPEN FOR READING AND BECOMES THE SOURCE OF INPUT FOR 
THE TOP LEVEL READ-EVAL-PRINT LOOP.




THERE IS FINALLY A SUPER WINNING LISP COMPILER AVAILABLE AS 
SYS:TS COMPLR   
[OBTAINABLE BY TYPING COMPLR<CONTROL-K> OR :COMPLR<CR> AT DDT]
ITS VERSION NUMBER IS 200, AND WITH A FEW MINOR EXCEPTIONS IS USED
JUST LIKE THE PREVIOUS COMPLR [WHICH WAS UNFORTUNATELY LOST IN 
A DISK CRASH MANY MOONS AGO.]
LAP CODE COMPILED BY THE PREVIOUS COMPLR'S WILL PROBABLY NOT
WORK CORRECTLY IN LISP 226, AND THE OUTPUT OF THE CURRENT TS COMPLR
WILL NOT WORK CORRECTLY IN OLDER LISPS.
THE EXCEPTIONS TO BE NOTED FOR USING COMPLR 200 ARE:
    1) IF THE FUNCTION MAKLAP IS GIVEN ARGUMENTS, IT OPERATES JUST 
	LIKE THE FUNCTION COMFILE OF LISCOM [SEE LISCOM NOTE].
	OTHERWISE (MAKLAP) ENTERS A MODE AS DESCRIBED IN THE LISP
	ARCHIV DOCUMENTATION, TAKING A COMMAND STRING FROM THE TTY
	JUST AS MIDAS DOES.
    2) THE FOLLOWING FUNCTIONS ARE AVAILABLE TO MAKE DECLARATIONS 
	TO THE COMPILER: SPECIAL UNSPECIAL *EXPR *LEXPR *FEXPR 
			 GENPREFIX MACROS SYMBOLS
	A TYPICAL DECLARATION MIGHT LOOK LIKE
		(DECLARE (GENPREFIX PLNR) (SYMBOLS T) (MACROS T)
			 (SPECIAL LDLST) (UNSPECIAL X) 
			 (PRINT '(QUOTE (STUFF TO GO INTO LAP FILE)))
			 (READ) (COMMENT SWIPES THE NEXT S-EXPRESSION
					 SO THE COMPILER CANT GET IT))
	REMINDER: WHEN A FILE IS BEING COMPILED, NOTHING ON THE FILE
	IS EVAL'D EXCEPT THE ITEMS IN A DECLARE LIST.  FUNCTION 
	DEFINITIONS ARE COMPILED INTO LAP CODE, AND ALL OTHER 
	S-EXPRESSIONS ARE MERELY READ IN AND PRINTED OUT ON THE 
	OUTPUT FILE.


SYS:TS INDEX IS NOW A COMPILED VERSION OF THE PHAMOUS WINSTON
INDEXER [HOPEFULLY REPLETE WITH A COMPILED GRINDEFER TOO]
ALSO OBTAINABLE BY TYPING AT DDT INDEX<CONTROL-K> OR :INDEX<CR>