FRIDAY SEPT 13,1974 LQ+4D.19H.41M.28S. LISP 909 - GLS - BRIEF SYNOPSIS: [1] NEW FUNCTION: FSC. SIMILAR TO LSH AND ROT. [2] NEW STATUS OPTION: (STATUS TTYSIZE). [3] REMPROP CHANGED TO RETURN USEFUL QUANTITY. [4] ISQRT HAS BEEN FLUSHED. CODE BELOW SUPERSEDES IT. [5] (EXPT X .5) IS INHERENTLY LESS ACCURATE THAN (SQRT X). [6] FASLOAD FILES CAN BE CONCATENATED. [7] (IOC W) PROBLEM EXTENDS TO IOG. GRUMBLE. BEWARE! ---------------------------------------------------------------- [1] NEW FUNCTION: FSC IS ANALOGOUS TO ROT AND LSH. IT ACCEPTS EITHER FIXNUMS OR FLONUMS, AND ACTS UPON THE BITS GIVEN IT; I.E. LIKE ROT AND LSH IT DOES NOT DO THE FLOAT OR FIX FUNCTION. UNLIKE ROT AND LSH, HOWEVER, FSC RETURNS A FLONUM. NOTE THAT THE FSC PDP-10 INSTRUCTION NORMALIZES THE RESULT. THIS IS A PDP-10 DEPENDENT FUNCTION! (FSC N 0) IN PARTICULAR IS INTENDED TO BE THE INVERSE OF (LSH N 0); NAMELY, IT TAKES A FIXNUM AND MAKES THE BITS OF THAT FIXNUM INTO A FLONUM (THAT IS, IT USES THE FIXNUM AS THE MACHINE REPRESENTATION OF THE FLONUM). IN GENERAL, (= F (FSC (LSH F 0) 0)) FOR ANY FLONUM F, BUT (= X (LSH (FSC X 0) 0)) FOR FIXNUM X IFF X IS THE REPRESENTATION OF A *NORMALIZED* PDP-10 FLONUM. [2] (STATUS TTYSIZE) RETURNS A DOTTED PAIR OF THE TTY'S CURRENT HEIGHT AND WIDTH (ANALOGOUS TO CURSORPOS OF NO ARGS). THESE ARE THE PARAMETERS AS RETURNED BY THE SYSTEM, WHICH PRESUMABLY ARE SETTABLE VIA :TCTYP. [3] REMPROP, IF IT FINDS THE PROPERTY TO REMOVE, INSTEAD OF RETURNING T, RETURNS THE CELL OF THE PROPERTY LIST WHOSE CAR IS THE PROPERTY (THIS CELL WAS SPLICED OUT FROM THE PROPERTY LIST). [4] ISQRT HAS BEEN FLUSHED FROM THE LISP SYSTEM. THE LISP CODE BELOW IS MORE ACCURATE AND WORKS ON BIGNUMS. (DEFUN BSQRT (N) (BSQRT1 (ABS N) (EXPT 2 (// (1+ (HAULONG N)) 2)))) (DEFUN BSQRT1 (N GUESS) ((LAMBDA (NEXT) (COND ((LESSP NEXT GUESS) (BSQRT1 N NEXT)) (T GUESS))) (*QUO (*PLUS GUESS (*QUO N GUESS)) 2))) THIS IS ESSENTIALLY A NEWTON ITERATION (DUE TO GOSPER) WITH APPROPRIATE PRECAUTIONS FOR INTEGER TRUNCATION. [5] (EXPT X .5) IS INHERENTLY LESS ACCURATE THAN (SQRT X). USE THE LATTER WHEN YOU KNOW IT'S SQRT. [6] IF YOU CONCATENATE SEVERAL FASLOAD FILES SO THAT THE BEGINNING *FASL* OF THE NEXT FOLLOWS THE TERMINATING *FASL* OF THE PREVIOUS ONE, THEN FASLOAD WILL GO 'ROUND THE FASLOAD CYCLE AGAIN AND LOAD IT UP TOO. CURRENTLY THERE IS NO CONVENIENT WAY TO CONCATENATE FASLOAD FILES, BUT I NEVER PROMISED YOU A ROSE GARDEN. [7] REMEMBER THE (IOC W) BUG, GANG? IT STILL HAUNTS US! NAMELY, (IOC W) RESETS THE TTY OUTPUT BUFFER, THUS POSSIBLY LOSING CHARACTERS FROM THE PREVIOUS OUTPUT FUNCTION. THE RIGHT WAY TO DO IT IS (SETQ ^W T). WELL, IT FOLLOWS THAT (IOG W <FORMS>) ISN'T THE RIGHT THING EITHER. THE RIGHT THING IS (IOG NIL (SETQ ^W T) <FORMS>). I DON'T LIKE IT EITHER. [8] POOR SIGNP!