Google
 

Trailing-Edge - PDP-10 Archives - -
There are no other files named in the archive.
(FILECREATED "17-JAN-79 08:20:41" <LISPUSERS>COMPILEFORMSLIST.;2 1280   

     changes to:  COMPILEFORMSLISTCOMS COMPILEFORMSLIST

     previous date: "17-JAN-79 08:16:15" <LISPUSERS>COMPILEFORMSLIST.;1)


(PRETTYCOMPRINT COMPILEFORMSLISTCOMS)

(RPAQQ COMPILEFORMSLISTCOMS [(FNS COMPILEFORMSLIST)
			     (DECLARE: EVAL@COMPILE DONTCOPY (P (RESETSAVE DWIMIFYCOMPFLG T])
(DEFINEQ

(COMPILEFORMSLIST
  [LAMBDA (VAR)                                        (* rmk: "17-JAN-79 08:20")

          (* Compiles the list of forms bound to VAR (e.g. AFTERSYSOUTFORMS) as a single function and changes the binding of VAR to a single form 
	  calling that function)


    (if (LISTP (GETATOMVAL VAR))
	then (RESETVARS (LAPFLG SVFLG LCFIL (STRF T)
				(LSTFIL T))
		        (PROG ((FN (PACK* VAR (GENSYM)))
			       (DEF (<'LAMBDA NIL !(GETATOMVAL VAR)
				      >)))
			      (if FN=(COMPILE2 FN DEF)
				  then                 (* Otherwise compiler failed)
				       (PUT FN 'EXPR DEF) 
                                                       (* Save symbolics for future reference)
				       (SETATOMVAL VAR <<FN>>])
)
(DECLARE: EVAL@COMPILE DONTCOPY 
(RESETSAVE DWIMIFYCOMPFLG T)
)
(DECLARE: DONTCOPY
  (FILEMAP (NIL (389 1189 (COMPILEFORMSLIST 401 . 1186)))))
STOP