Lines Matching refs:sys
43 (let ([h (##sys#slot l 0)]
44 [r (##sys#slot l 1)] )
71 (and (applicable? (##sys#slot list1 0) (##sys#slot list2 0))
72 (check-applicable (##sys#slot list1 1) (##sys#slot list2 1)))))))
74 (if (or (null? applicable) (null? (##sys#slot applicable 1)))
88 (let ((c1 (##sys#slot specls1 0))
89 (c2 (##sys#slot specls2 0))
90 (arg (##sys#slot args 0)))
92 (loop (##sys#slot specls1 1)
93 (##sys#slot specls2 1)
94 (##sys#slot args 1))
98 (##sys#error "two methods are equally specific" generic))
100 ; (##sys#error "two methods have different number of specializers" generic))
104 (##sys#error "fewer arguments than specializers" generic))
106 (let ((c1 (##sys#slot specls1 0))
107 (c2 (##sys#slot specls2 0))
108 (arg (##sys#slot args 0)))
110 (loop (##sys#slot specls1 1)
111 (##sys#slot specls2 1)
112 (##sys#slot args 1))
126 [l2 (length (method-specializers (##sys#slot methods 0)))])
128 (cons (##sys#slot methods 0) (filter-in-method (##sys#slot methods 1))))
133 [ms2 (method-specializers (##sys#slot methods 0))])
135 (cons method (##sys#slot methods 1))) ;; skip the method already in the generic
136 ((eq? (##sys#slot ms1 0) (##sys#slot ms2 0))
137 (check-method (##sys#slot ms1 1) (##sys#slot ms2 1)))
139 (cons (##sys#slot methods 0) (filter-in-method (##sys#slot methods 1))))))))))))
141 (##sys#setslot (##sys#slot generic (- (##sys#size generic) 2)) 1 (compute-apply-generic generic)) ))
144 (let ((generic (if (procedure? val) val (make <multi-generic> 'name (##sys#symbol->string sym)))))