7/8/73 - JONL - TRY NLISP! POSSIBLE DIFFICULTIES: 1) EQ WILL NOT BE GUARANTEED TO WORK ON SMALL FIXNUMS. ONE SHOULD USE = OR EQUAL AS APPROPRIATE. 2) ZEROP MUST BE COMPILED DIFFERENTLY FOR NLISP THAN FOR LISP. THUS IF YOUR CODE HAS ANY ZEROP'S IN IT, YOU WILL HAVE TO RECOMPILE EITHER WITH SYS:TS XCOMPLR, WHICH IS A NORMAL COMPLR SET UP TO COMPILE ZEROP FOR NLISP, OR WITH SYS:TS NCOMPLR, WHICH IS THE SUPER-DUPER-WINNING COMPILER THAT HAS BEAT OUT FORTRAN ON REASONABLE NUMERICAL PROGRAMS. ERIC ROSEN, WHO IS IN T.S. 834 FOR THE REMAINDER OF THE SUMMER, WILL BE ABLE TO HELP YOU WITH THE DECLARATIONS TO NECESSARY TO GIVE YOU AS MUCH OPEN-CODED REAL, LIVE ARITHMETIC AS IS POSSIBLE IN A LISP PROGRAM. 3) THUS MANY PROGRAMS WILL BE LISP-NLISP COMPATIBLE, OR CAN BE MADE SO BY THE REPLACEMENT OF (ZEROP X) WITH (= X 0), AND THE CAREFUL REMOVAL OF ANY USE OF EQ ON NUMBERS. AS OF THIS DATE, COM:LAP FASL, COM:GRIND FASL, AND COM:INDEX FASL ARE SO COMPATIBLE. HOPEFULLY, THERE WILL BE A COMPATIBLE CNVR FORTHCOMING. THE COMPATIBLE INDEXER, HOWEVER, WILL PROPERLY INDEX CNVR CODE WHEN CNPARSE IS SET TO NON-NIL. 4) JONL WILL BE ON VACATION FROM TUESDAY, JULY 10, UNTIL SUNDAY, JULY 22. HOPEFULLY, GUY STEELE [GLS] WILL BE ABLE TO HELP ALL YOU LISP LOSERS OUT THERE OVERCOME THE UNEXPECTED "FEATURES". AT ANY RATE, DONT HESITATE TO LEAVE MAIL. THE SYSTEM INDEXER, OBTAINABLE BY FASLOADING IN COM:INDEX FASL, NOW HANDLES CNVR FILES APPROPRIATELY. BY SETTING THE VARIABLE CNPARSE TO NON-NIL, YOU MAY INFORM THE INDEXER THAT A CNVR FILE IS COMING, AND THAT IT SHOULD OBEY THE CNVR READ MACROS. THE VALUE OF THE VARIABLE EDIT IS NOW (AS OF LISP 486) A LIST OF FLAGS THAT THE IN-CORE EDITOR WILL USE WHEN SEARCHING FOR A FUNCTION DEFINITION. THUS TO EDIT CNVR FUNCTIONS, ONE MAY WANT TO DO (SETQ EDIT (CONS 'CEXPR EDIT)) THE VALUE OF THE VARIABLE IS THE BACK-UP CHAIN FOR THE EDITOR, THE CAR OF WHICH WILL BE POINTING TO THE PLACE IN YOUR FUNCTION WHERE THE CURRENT EDIT CURSOR IS. THUS, ONE MAY USE THE EDITOR TO POSITION THE EDIT-CURSOR, AND THEN RUN OTHER PROGRAMS THAT "TAKE IT FROM THERE" THE NEW FUNCTION LISTIFY, A SUBR OF ONE ARGUMENT, MAY BE OF USE TO THOSE WHO USE LEXPRS. IT IS ESSENTIALLY A FAST, HAND-CODED VERSION OF THE FOLLOWING EXPR: (DEFUN LISTIFY (N) (COND ((ZEROP N) NIL) ((DO ((I 1 (1+ I)) (L NIL)) ((> I N) (REVERSE L)) (SETQ L (CONS (ARG I) L)))))) IN SHORT, IT MAY BE USED TO QUICKLY UNSTACK THE ARGUMENTS TO AN LEXPR, AND CONS THEM UP INTO A LIST. ********** HAS BEEN EXTENDED - SEE NOTE OF 7/30/73 ********** (STATUS LINEL . . .) AND (STATUS CHRCT . . .) HAVE BEEN FLUSHED, SINCE THIS IS NOT THE WAY THEY WILL BE USED IN THE NEW MULTIPLEL I/O CHANNEL SCHEME. THIS HIGHLY DESIRABLE FEATURE, WHICH IS PARTIALLY IMPLEMENTED, MIGHT BE FINISHED IF AND WHEN STAVROS EVER COMES BACK FROM GREECE. THEN AGAIN, IT MIGHT NOT. BOTH MIDAS AND MACLISP ARE NOW AVAILABLE FOR USE ON A DEC SYSTEM-10 TIME-SHARING MONITOR [AND CONSEQUENTLY, FOR USE UNDER A TENEX MONITOR] FOR MORE INFORMATION, LEAVE MAIL FOR JONL.