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