perm filename DOCS.UPD[S,AIL] blob sn#000832 filedate 1972-11-01 generic text, type T, neo UTF8
COMMENT ⊗   VALID 00004 PAGES 
RECORD PAGE   DESCRIPTION
 00001 00001
 00002 00002	SAIL ?-?-71
 00007 00003	
 00011 00004	CUT SAIL
 00015 ENDMK
⊗;
SAIL ?-?-71
REQUIRE -1 NEW_ITEMS is only way to suppress local model allocation
 if LEAP ever gets called -- GLOBAL or local version of LEPRUN

SAIL 5-15-71
 Case Statements of form CASE N OF BEGIN [N] S; [N]S; ... END

SAIL 6-1-71
 Case statements can be named

SAIL 6-15-71
 IBP works OK with either 1 or two args now

SAIL 6-26-71
 Q and R in FTDEBUG commands works better via new RAID calls

SAIL 7-10-71
 REQUIRE 34 VERSION
  will store 34 in (new) space-allocation cell as this relfile's
  version number.  Alloc will complain if any two non-zero version
  numbers in the same core image are different.

-------------------------------------------------------------------------
SAIL 7-10-71
 REQUIRE SEGMENT_PROTECT has been removed (since it didn't mean anything).

-------------------------------------------------------------------------
SAIL 7-12-71
 AOS PAT stuff removed (conditionally) from compiler, runtimes.
-------------------------------------------------------------------------
SAIL 7-17-71
 /K switch added by RES -- causes counter code to go out if listing file
 indicated.
-------------------------------------------------------------------------
SAIL 7-17-71
 PROFIL program available on SYS which merges source.LST with source.KNT
 created by SAIL compilation with /K, to create dest listing file with
 statement counts.
-- CURRENT SYSTEM LINE --
-------------------------------------------------------------------------
SAIL 9-3-71
 /H switch causes generation of re-entrant (two-segment) REL files
   REQUIRES HLBSAI library from SYS, which should be re-entrant
-------------------------------------------------------------------------
SAIL RUNTIME 9-3-71
 HLBSAI library has all HISEG entries, will load all but necessary
 low stuff into upper.
-------------------------------------------------------------------------
SCISS 9-3-71
 If RENSW is on in GOGOL, should rename LIBSAI to HLBSAI before transferring
 to SCISS.
-------------------------------------------------------------------------
SAIL 9-3-71
 Load /H'ed files by using LOADER directly, mentioning only the file name
  (no /Y).  Write protect by depositing the following sequence in 134 cc:
	134/ 211000 1  (MOVNI 1) TO INDICATE PROTECTION
	135/ 47000 36 (CALLI 36) TO PROTECT
	136/ 255000 0 (JFCL IN CASE DOESNT'T SKIP)
	137/ 47000 12 (EXIT)
  then START 134 and SSAVE when it exits -- now write-protected
-------------------------------------------------------------------------
SAIL 9-21-71
 ⊗ character no longer legal in place of @ character in START_CODE.
    (It disallowed use of XOR opcode in START_CODE).

GLOBAL LEAP RUNTIME ROUTINES  11-1-71
	Currently set datums are not reclaimed when the item is
deleted; should be set to PHI before deletion.
	IFGLOBAL IS TRUE FOR ALL ITEM NUMBERS BETWEEN 7777 AND THE
LOWEST GLOBAL ITEM USED, EVEN IF SOME OF THEM HAVE SINCE BEEN DELETED.

-------------------------------------------------------------------------
SAIL 1-1-72
SAILRUN, most of COM2 removed. Change SAIL.OPR, tellem to reflect Segment
  or library operation only (later two-segment compiler).
T response (at Stanford) to error uuo queries  -- starts TV
-------------------------------------------------------------------------
SAIL 2-1-72?
RHT, JRL, HJS changes of major import, see individual documents.
No longer can garbage appear after final END in SAIL programs (only legal tokens).

SAILRUN 1-16-72
SAISGn.SEG, GLBSGn.SEG will be the segment names, replacing xxx.REL.

SAILRUN 1-27-72
Fixed some bugs in nonstandard buffer-size code -- must be pointed out that
buffer size specification MUST include count word -- so for DSK and MTA, if
standard were explicitly stated, would be 129('201). On DTA, would be '200,
since count words are stored in blocks (cept dump mode, ugh!).

SAILRUN 2-1-72
In nonstandard buffer length specifications to OPEN, user should include one
word for the data count, since some devices store the count as data -- i.e.,
for standard disk buffer, would have to specify 129 statt 128.

SAILRUN 2-1-72
In REENTER sequence, `S' no longer means anything -- `Y' means ask, `N' means
 don't ask but show me, ` ' means sorry I asked.
Manual needs more indexing, more examples, some of syntax dumped into `advanced'
 pile.  Should try to get it to subset, like it once did.

SAIL 2-16-72
Negative integer exponents don't work.  The type of an exponentiation is that
of its first argument.  This isn't new, but not well documented.

SAIL 2-16-72
FILEINFO(ARRAY) has never been documented in the SAIL manual.

SAILRUN 2-16-72
TOPSTR has been removed  from the user table, all need for it gone after 
mods to CAT and STRNGC.

TELLEM,SAIL.OPR 2-16-72
SCISS now asks if you want to create the intermediate (SAInnn.FAI,HDRFIL)
 files -- say NO if you did that already, are coming back in the middle.
SCISS now reads its specs (which names exist, which files they are in)
 from the file ORDER, whose name should be spread over these documents.
RTRAN now requires WNTSLS -- document its removal in SAIL.OPR.
CUT SAIL
All runtimes must store 12 in RACS+12(GOGTAB), even if they don't 
change it, if they might call the STRNGC.

PROCNT,EXCCNT,LINCNT,SCNCNT, nP as given on <<2-26>>.

FOO2: CONOK, Xn, .FOO as given on <<3-1>>.

HEL -- @FOO⊂@BAZ, @RESERVED, @TERMINAL, EXEC @3 FOO.

Must carefully specify when Macros don't expand, or when they expand funny:
 1) After DEFINE or , in definition list -- don't expand, return name.
 2) In FALSE part of conditional -- don't expand, return name (incl COMMENT!)
 3) If non-numeric macro in program text -- expand to string constant macro
     body value -- don't evaluate it.
Need a coding tricks manual, keyed to sections of SAIL manual.

Must carefully specify when SIMPLE is illegal:
 1) If RECURSIVE (automatic?)
 2) If Arrays or sets (set locals?)
 3) If nested procs uplevel to its parameters.
 4) If it uplevels to parameters or recursive locals, and if it is sometimes
    called by non-simple procedures nested within the procedure whose vbls
    it uplevels to.
Version 16 installed as SAIL on 3 July 1972.  Old SAIL is OSAIL.

SCISS -- NAM,n line interprets n as number, last digit of library names
     created.

As of 13 July 1972 in a macro call automatic nesting of ⊂ and ⊃  and 
	< and >  no longer happens.  That is a comma or a right paren-
	thesis wili only break a scan of an actual macro parameter if 
	the nesting count of  ( and )  [ and ]  and  { and } is zero.

NOSHRK(USER) now has a new role: if <0 or =0, same as before -- don't
shrink or leave up to 2K, resp.  -- If >0, this is how much to leave --
things will get even better soon.


8-18-72
Have to fix SAIL manual -- explain what really happens in coercion when
I←X.

11-1-72
PTRAN: added facility for built-in macros.
Before <FUNCTIONS>, add a section:
<MACROS>
macro1 n1 text¬0, where:
    macro1 is macro name
    n1 is number of parameters
    ¬0 ("¬" "0") indicates the end of the macro, and
    text is a string of:
	¬m, where m is a parameter number -- parameter will be inserted here.
	?c, where c is a char, "quotes" the char, both if crlf.
	    (char is usually ?, ¬, or crlf)
 	crlf, which gets ignored unless quoted.
	anything else, which just gets passed on through.
Now each user will have that macro automatically available to him unless he
redefines it -- unfortunately, he can't define it as anything else but another
macro for now, but help coming.