12/8/74 JONL & GLS Remember, BIBOP LISP is now the standard system LISP! [As of version number 958]. LISTARRAY has been extended to be an LSUBR. an optional second argument puts a bound on the number of elements to LISTIFY. For example, (LISTARRAY ary 5) lists only the first five elements of ary; while (LISTARRAY ary), as before, lists all elements. note that (LISTARRAY ary (APPLY 'TIMES (CDR (ARRAYDIMS ary)))) also lists all elements. MAKOBLIST, MAKREADTABLE, and BLTARRAY have been flushed. If you used them before, you can substitute calls as in the table below: FOR THIS CODE USE THIS INSTEAD (BLTARRAY x y) (FILLARRAY Y X) ;note reversal of args (MAKREADTABLE x) (*ARRAY x 'READTABLE) x not T or NIL (MAKREADTABLE t-or-nil) (*ARRAY (GENSYM) 'READTABLE t-or-nil) (MAKOBLIST x) (*ARRAY x 'OBARRAY) x not NIL (MAKOBLIST NIL) (LISTARRAY OBARRAY (- (CADR (ARRAYDIMS 'OBARRAY)) 129.)) Note that FILLARRAY is consistent in that it always transfers the contents of its second arg into the first, and returns the first (an array). Note too that this means that when replacing a BLTARRAY by a FILLARRAY, you must reverse the args. SYMEVAL lives! If you know that you are evaluating an atomic symbol, it will be faster to use SYMEVAL rather than the general-purpose EVAL. In particular, as soon as BIBOP LISP becomes the settled standard, SYMEVAL will compile optimally into two instructions. In *RSET mode, all car-cdr calls are checked at each level to see that CAR or CDR is applied only to proper data. This checking is not done by compiled code [which usually open-codes car-cdr ings] [this is not really true, because compiled code calls functions like CDDDDR, even if the user does not explicitly use them], nor when *RSET = NIL. CAR and CDR are variables which control the checking as follows: LIST can hack only lists NIL can hack lists and NIL SYMBOL can hack lists, NIL, and symbols T can hack anything. When in *RSET mode, the value of CDR controls the permissible operations for the function CDR, and the value of CAR controls the permissible operations for the function CAR.