perm filename TMSG[UOR,AIL] blob sn#248617 filedate 1976-11-21 generic text, type T, neo UTF8
 John:
	All the files from the compiler and runtimes which have
been changed at Rochester have been moved back to the AI-Lab to
UOR,AIL. Look at the files  IT[UOR,AIL] and  RUN[UOR,AIL] to
infer what files are involved. You can of course also just
look at the directory of UOR,AIL as we have not sent back any files
which we did not alter. No changes have been made  (or are
anticipated) to BAIL. Changes to PROFIL
will be sent shortly. The file UORFIX.BUG contains a list of the
changes we have made. Besides bug fixes and things local to the 
U of R (such as the fact that we use teletype RAID) there  are the
following additions:

1). Two character operators-
	:= for ←
	>= for GEQ
	<= for LEQ
	** for ↑

    This was done by some special casing in SYM. Currently this
    addition has been placed under the UOR switch. It might be 
    reasonable to remove the UOR conditional around this addition.

2). REQUIRE OVERLAP!OK;
    This will cause suppression of the 

	WARNING ITEM OVERLAP

    message when the program begins execution.

    The changes introduced to the compiler are fully upward
    compatible. No program that was compiled before this
    would have to be recompiled.

    RUNTIME: One XX variable $$LNOWARN has been
    added to GOGOL. To defer having to make a new version you could
    place $$LNOWARN (in GOGOL) and all the references to it ( In
    LEPRUN) under the HACK switch.

3). REQUIRE VERIFY!DATUMS;
    Generates code to check the dat-types of items at runtime when 
    they are used with DATUM (two extra instructions are executed per
    DATUM). 

    Fully upward compatible with old compiler.

    RUNTIME: routine $$DERR has been added. To defer new version 
    place $$DERR under a HEREFK.

4). BIG LEAP, new hash, item allocation in decreasing order. This
    is totally under URLEAP and URHASH switches. User sees this
    only in that he can now have
           REQUIRE n NEW!ITEMS;
    with n greater than 4K.

    No changes have been made to the compiler at all.
    If URLEAP and URHASH are off then there is no difference in the
    runtime. If the switches are on the several user table entries
    and XX variables have been allocated. URSTAT should not normally
    be on.

    Note:
       We have attempted to make the new LEAP compatible with the
    GLOBAL model users. But there is currently a bug in that
    GLOBAL model leap tries to allocated 512K of table space.
    Considering only 128k is available in the unshared segment
    you have to admit that that is a neat trick. this bug should
    be fixed in the next couple of weeks. until then
    no GSGMNT should be made unless URLEAP is off (URHASH is ok).

5). A rather pernicious lack of error detection has been discovered.

       PROCEDURE X(REFERENCE INTEGER ITEMVAR Q);
       BEGIN
       END;

       INTEGER Z;
       X(Z);

    does not give an error message.

    One feeble attempt to correct this was placed in STATS but the
    fix caused procedures such as ARRYIN and ARRBLT to complain.
    The attempted bug fix has been IFN'd out. We will continue
    to try to find a general fix.

Minor notes:

1. If looks to me that for symmetry reasons TYMSHR switch should
   be included in the macro NODEC in HEAD.

2. Parts list of TELLEM should include BAIPDn

3. APPENDIX II of TELLEM should
   include
         BSM1HD.FAI and BAIPDn.FAI

4. The file TYPEIT.HDR should be included in the group of files
   needed for the LEAP dumping routines (LPREAD,LPDUMP etc)
   for the distribution tape. Probably all these should be
   moved to X,AIL. In the next couple of weeks I'll send you a
   note when I believe the versions on UOR,AIL are good.

Jerry talked with some people at NIH last week about the future
of SAIL maintainence. He showed me the note you sent them.
Could you please keep us informed as to what the AI-Labs
plans are when you leave.

If you have any questions about any of the above please send
me a note at SUMEX. We do not yet have a MAIL server at Rochester.

		Jim Low