Annotation of 42BSD/ucb/lisp/lisplib/fcninfo.l, revision 1.1

1.1     ! root        1: (setq rcs-fcninfo-
        !             2:    "$Header")
        !             3: 
        !             4: ;;
        !             5: ;; fcninfo.l                           -[Sat Jan 29 18:21:45 1983 by jkf]-
        !             6: ;;
        !             7: ;; This is normally not loaded into a lisp system but is loaded into
        !             8: ;; the compiler.  
        !             9: ;; number of arguments information for C coded functions
        !            10: ;; not included: evalframe evalhook wait exece
        !            11: ;; stopped in sysat.c after *invmod
        !            12: ;
        !            13: ;; the information is stored in such as way as to minimize the
        !            14: ;; amount of space required to store the informaion.
        !            15: 
        !            16: 
        !            17: (eval-when (compile eval)
        !            18:    (setq cdescrip " defined in C-coded kernel"))
        !            19: 
        !            20: (defmacro decl-fcn-info (tag fcns)
        !            21:    `(let ((fcninfo ',tag))
        !            22:        ,@(mapcar '(lambda (fcn) `(putprop ',fcn fcninfo 'fcn-info)) fcns)))
        !            23: (defmacro zero (&rest args)
        !            24:    `(decl-fcn-info ((0 . 0) ,cdescrip) ,args)) 
        !            25: (defmacro zero-to-one (&rest args)
        !            26:    `(decl-fcn-info ((0 . 1) ,cdescrip) ,args))
        !            27: (defmacro zero-to-two (&rest args)
        !            28:    `(decl-fcn-info ((0 . 2) ,cdescrip) ,args))
        !            29: (defmacro zero-to-inf (&rest args)
        !            30:    `(decl-fcn-info (nil ,cdescrip) ,args))
        !            31: (defmacro one (&rest args)
        !            32:    `(decl-fcn-info ((1 . 1) ,cdescrip) ,args))
        !            33: (defmacro one-to-two (&rest args)
        !            34:    `(decl-fcn-info ((1 . 2) ,cdescrip) ,args))
        !            35: (defmacro one-to-three (&rest args)
        !            36:    `(decl-fcn-info ((1 . 3) ,cdescrip) ,args))
        !            37: (defmacro one-to-inf (&rest args)
        !            38:    `(decl-fcn-info ((1 . nil) ,cdescrip) ,args))
        !            39: (defmacro two (&rest args)
        !            40:    `(decl-fcn-info ((2 . 2) ,cdescrip) ,args))
        !            41: (defmacro two-to-inf (&rest args)
        !            42:    `(decl-fcn-info ((1 . nil) ,cdescrip) ,args))
        !            43: (defmacro three (&rest args)
        !            44:    `(decl-fcn-info ((3 . 3) ,cdescrip) ,args))
        !            45: (defmacro three-to-five (&rest args)
        !            46:    `(decl-fcn-info ((3 . 5) ,cdescrip) ,args))
        !            47: (defmacro three-to-inf (&rest args)
        !            48:    `(decl-fcn-info ((3 . nil) ,cdescrip) ,args))
        !            49: (defmacro four (&rest args)
        !            50:    `(decl-fcn-info ((4 . 4) ,cdescrip) ,args))
        !            51: (defmacro five (&rest args)
        !            52:    `(decl-fcn-info ((5 . 5) ,cdescrip) ,args))
        !            53: 
        !            54: 
        !            55: (zero baktrace fork oblist ptime reset resetio zapline)
        !            56: (zero-to-one arg close drain dumplisp exit
        !            57:    gensym monitor nwritn random return terpr time-string tyipeek)
        !            58: (zero-to-two err ratom read readc tyi)
        !            59: (zero-to-inf + - * / and concat cond
        !            60:    difference greaterp lessp list or plus product prog quotient setq
        !            61:    sum times unconcat)
        !            62: (one  1+ 1- absval add1
        !            63:    aexplode aexplodec aexploden argv
        !            64:    arrayp ascii asin acos atom bcdp
        !            65:    bignum-to-list boundp car cdr chdir cos
        !            66:    dtpr exp fact fake fix float frexp function get_pname getaccess getaux
        !            67:    getd getdata getdelta
        !            68:    getentry getenv getdisc getlength go haulong infile log 
        !            69:    implode intern maknam maknum makunbound minus minusp
        !            70:    not ncons null numberp onep plist pntlen portp ptr 
        !            71:    quote readlist remob *rset sin sizeof stringp sub1 sqrt symbolp
        !            72:    truename type valuep zerop)
        !            73: (one-to-two errset flatc outfile patom print status tyo untyi)
        !            74: (one-to-three fasl load process)
        !            75: (one-to-inf funcall progv)
        !            76: (two  allocate alphalessp
        !            77:    arrayref assq atan bignum-leftshift *catch cons
        !            78:    Divide eq equal freturn
        !            79:    get haipart *invmod lsh
        !            80:    mfunction mod *mod nthelem putaux putd
        !            81:    putdata putdelta putdisc putlength
        !            82:    remprop replace rot rplaca rplacd segment set setarg setplist scons
        !            83:    signal sstatus sticky-bignum-leftshift *throw
        !            84:    vref vrefi-byte vrefi-word vrefi-long)
        !            85:    
        !            86: (two-to-inf  apply def mapc mapcan mapcar mapcon maplist prog2)
        !            87: (three putprop)
        !            88: (three-to-five cfasl)
        !            89: (three-to-inf boole)
        !            90: (four Emuldiv)
        !            91: (five marray)
        !            92: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.