|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.