20 |
|
|
21 |
(def-type-prop-test consp 'consp '(t) 1) |
(def-type-prop-test consp 'consp '(t) 1) |
22 |
(def-type-prop-test atom 'atom '(t) 1) |
(def-type-prop-test atom 'atom '(t) 1) |
23 |
|
|
24 |
|
(def-type-prop-test rplaca 'rplaca '(cons t) 2 :replicate t) |
25 |
|
(def-type-prop-test rplacd 'rplacd '(cons t) 2 :replicate t) |
26 |
|
|
27 |
(def-type-prop-test car 'car '((cons t t)) 1) |
(def-type-prop-test car 'car '((cons t t)) 1) |
28 |
(def-type-prop-test first 'first '((cons t t)) 1) |
(def-type-prop-test first 'first '((cons t t)) 1) |
29 |
(def-type-prop-test cdr 'cdr '((cons t t)) 1) |
(def-type-prop-test cdr 'cdr '((cons t t)) 1) |
74 |
'((cons t (cons t (cons t (cons t (cons t (cons t (cons t (cons t (cons t (cons t t))))))))))) |
'((cons t (cons t (cons t (cons t (cons t (cons t (cons t (cons t (cons t (cons t t))))))))))) |
75 |
1) |
1) |
76 |
|
|
77 |
|
(def-type-prop-test pop '(lambda (x) (list (pop x) x)) '((cons t t)) 1) |
78 |
|
(def-type-prop-test push '(lambda (x y) (list (push x y) x y)) '(t t) 2) |
79 |
|
|
80 |
(def-type-prop-test copy-tree.1 'copy-tree '((cons t t)) 1) |
(def-type-prop-test copy-tree.1 'copy-tree '((cons t t)) 1) |
81 |
(def-type-prop-test copy-tree.2 'copy-tree '((cons (cons t t) (cons t t))) 1) |
(def-type-prop-test copy-tree.2 'copy-tree '((cons (cons t t) (cons t t))) 1) |
104 |
(eql :key) (or null (eql not) (eql ,#'not)) |
(eql :key) (or null (eql not) (eql ,#'not)) |
105 |
(eql :test) (or (eql equal) (eql ,#'equal))) 7) |
(eql :test) (or (eql equal) (eql ,#'equal))) 7) |
106 |
|
|
107 |
|
(def-type-prop-test nsubst.1 'nsubst '(t t t) 3 :replicate t) |
108 |
|
(def-type-prop-test nsubst.2 'nsubst '(t t (cons t t)) 3 :replicate t) |
109 |
|
(def-type-prop-test nsubst.3 'nsubst '(t t list) 3 :replicate t) |
110 |
|
(def-type-prop-test nsubst.4 'nsubst '(t t (cons (cons t t) (cons t t))) 3 :replicate t) |
111 |
|
(def-type-prop-test nsubst.5 'nsubst `(boolean t (cons (cons t t) (cons t t)) |
112 |
|
(eql :key) |
113 |
|
(or null (eql not) (eql ,#'not))) 5 |
114 |
|
:replicate t) |
115 |
|
(def-type-prop-test nsubst.6 'nsubst `(t t (cons (cons t t) (cons t t)) (eql :test) (or (eql equal) (eql ,#'equal))) 5 :replicate t) |
116 |
|
(def-type-prop-test nsubst.7 'nsubst `(t t (cons (cons t t) (cons t t)) (eql :test-not) (or (eql equal) (eql ,#'equal))) 5 :replicate t) |
117 |
|
(def-type-prop-test nsubst.8 'nsubst `(t t (cons (cons t t) (cons t t)) |
118 |
|
(eql :key) (or null (eql not) (eql ,#'not)) |
119 |
|
(eql :test) (or (eql equal) (eql ,#'equal))) 7 |
120 |
|
:replicate t) |
121 |
|
|
122 |
|
|
123 |
(def-type-prop-test subst-if.1 'subst-if `(t (or (eql not) (eql ,#'not)) list) 3) |
(def-type-prop-test subst-if.1 'subst-if `(t (or (eql not) (eql ,#'not)) list) 3) |
124 |
(def-type-prop-test subst-if.2 'subst-if `(t (or (eql not) (eql ,#'not)) (cons (or null t) (or null t))) 3) |
(def-type-prop-test subst-if.2 'subst-if `(t (or (eql not) (eql ,#'not)) (cons (or null t) (or null t))) 3) |
125 |
(def-type-prop-test subst-if.3 'subst-if `(t (eql identity) |
(def-type-prop-test subst-if.3 'subst-if `(t (eql identity) |
126 |
(cons (cons (cons t t) (cons t t)) (cons (cons t t) (cons t t))) |
(cons (cons (cons t t) (cons t t)) (cons (cons t t) (cons t t))) |
127 |
(eql :key) (or null (eql not) (eql ,#'not))) 5) |
(eql :key) (or null (eql not) (eql ,#'not))) 5) |
128 |
|
|
129 |
|
(def-type-prop-test nsubst-if.1 'nsubst-if `(t (or (eql not) (eql ,#'not)) list) 3 :replicate t) |
130 |
|
(def-type-prop-test nsubst-if.2 'nsubst-if `(t (or (eql not) (eql ,#'not)) (cons (or null t) (or null t))) 3 :replicate t) |
131 |
|
(def-type-prop-test nsubst-if.3 'nsubst-if `(t (eql identity) |
132 |
|
(cons (cons (cons t t) (cons t t)) (cons (cons t t) (cons t t))) |
133 |
|
(eql :key) (or null (eql not) (eql ,#'not))) 5 |
134 |
|
:replicate t) |
135 |
|
|
136 |
(def-type-prop-test subst-if-not.1 'subst-if-not `(t (or (eql not) (eql ,#'not)) list) 3) |
(def-type-prop-test subst-if-not.1 'subst-if-not `(t (or (eql not) (eql ,#'not)) list) 3) |
137 |
(def-type-prop-test subst-if-not.2 'subst-if-not `(t (or (eql not) (eql ,#'not)) (cons (or null t) (or null t))) 3) |
(def-type-prop-test subst-if-not.2 'subst-if-not `(t (or (eql not) (eql ,#'not)) (cons (or null t) (or null t))) 3) |
138 |
(def-type-prop-test subst-if-not.3 'subst-if-not `(t (eql identity) |
(def-type-prop-test subst-if-not.3 'subst-if-not `(t (eql identity) |
139 |
(cons (cons (cons t t) (cons t t)) (cons (cons t t) (cons t t))) |
(cons (cons (cons t t) (cons t t)) (cons (cons t t) (cons t t))) |
140 |
(eql :key) (or null (eql not) (eql ,#'not))) 5) |
(eql :key) (or null (eql not) (eql ,#'not))) 5) |
141 |
|
|
142 |
|
(def-type-prop-test nsubst-if-not.1 'nsubst-if-not `(t (or (eql not) (eql ,#'not)) list) 3 :replicate t) |
143 |
|
(def-type-prop-test nsubst-if-not.2 'nsubst-if-not `(t (or (eql not) (eql ,#'not)) (cons (or null t) (or null t))) 3 :replicate t) |
144 |
|
(def-type-prop-test nsubst-if-not.3 'nsubst-if-not `(t (eql identity) |
145 |
|
(cons (cons (cons t t) (cons t t)) (cons (cons t t) (cons t t))) |
146 |
|
(eql :key) (or null (eql not) (eql ,#'not))) 5 |
147 |
|
:replicate t) |
148 |
|
|
149 |
(def-type-prop-test tree-equal.1 'tree-equal (list t #'(lambda (x) `(or t (eql ,(copy-tree x))))) 2) |
(def-type-prop-test tree-equal.1 'tree-equal (list t #'(lambda (x) `(or t (eql ,(copy-tree x))))) 2) |
150 |
(def-type-prop-test tree-equal.2 'tree-equal (list 'list #'(lambda (x) `(or list (eql ,(copy-tree t))))) 2) |
(def-type-prop-test tree-equal.2 'tree-equal (list 'list #'(lambda (x) `(or list (eql ,(copy-tree t))))) 2) |
151 |
(def-type-prop-test tree-equal.3 'tree-equal (list '(cons t t) |
(def-type-prop-test tree-equal.3 'tree-equal (list '(cons t t) |
180 |
(def-type-prop-test append.4 'append '(list list list t) 4) |
(def-type-prop-test append.4 'append '(list list list t) 4) |
181 |
|
|
182 |
(def-type-prop-test nconc.1 'nconc '(list) 1) |
(def-type-prop-test nconc.1 'nconc '(list) 1) |
183 |
(def-type-prop-test nconc.2 '(lambda (x y) (nconc (copy-list x) y)) '(list list) 2) |
(def-type-prop-test nconc.2 'nconc '(list list) 2 :replicate t) |
184 |
(def-type-prop-test nconc.3 '(lambda (x y z) (nconc (copy-list x) (copy-list y) z)) '(list list list) 3) |
(def-type-prop-test nconc.3 'nconc '(list list list) 3 :replicate t) |
185 |
|
(def-type-prop-test nconc.4 'nconc '(list list list list) 4 :replicate t) |
186 |
|
|
187 |
(def-type-prop-test revappend 'revappend '(list t) 2) |
(def-type-prop-test revappend 'revappend '(list t) 2) |
188 |
(def-type-prop-test nreconc '(lambda (x y) (nreconc (copy-list x) y)) '(list t) 2) |
(def-type-prop-test nreconc 'nreconc '(list t) 2 :replicate t) |
189 |
|
|
190 |
(def-type-prop-test butlast.1 'butlast '(list) 1) |
(def-type-prop-test butlast.1 'butlast '(list) 1) |
191 |
(def-type-prop-test butlast.2 'butlast '(list (integer 0 20)) 2) |
(def-type-prop-test butlast.2 'butlast '(list (integer 0 20)) 2) |
192 |
|
|
193 |
(def-type-prop-test nbutlast.1 '(lambda (x) (nbutlast (copy-list x))) '(list) 1) |
(def-type-prop-test nbutlast.1 'nbutlast '(list) 1 :replicate t) |
194 |
(def-type-prop-test nbutlast.2 '(lambda (x n) (nbutlast (copy-list x) n)) '(list (integer 0 20)) 2) |
(def-type-prop-test nbutlast.2 'nbutlast '(list (integer 0 20)) 2 :replicate t) |
195 |
|
|
196 |
(def-type-prop-test last.1 'last '(list) 1) |
(def-type-prop-test last.1 'last '(list) 1) |
197 |
(def-type-prop-test last.2 'last '(list (integer 0 15)) 2) |
(def-type-prop-test last.2 'last '(list (integer 0 15)) 2) |
257 |
(def-type-prop-test mapl.1 'mapl '((eql list)) 2 :rest-type 'list :maxargs 10) |
(def-type-prop-test mapl.1 'mapl '((eql list)) 2 :rest-type 'list :maxargs 10) |
258 |
(def-type-prop-test mapl.2 'mapl `((eql ,#'vector)) 2 :rest-type 'list :maxargs 10) |
(def-type-prop-test mapl.2 'mapl `((eql ,#'vector)) 2 :rest-type 'list :maxargs 10) |
259 |
|
|
260 |
|
(def-type-prop-test mapcan.1 'mapcan '((eql list)) 2 :rest-type 'list :maxargs 10) |
261 |
|
|
262 |
|
(def-type-prop-test mapcon.1 'mapcon '((eql copy-list) list) 2) |
263 |
|
|
264 |
(def-type-prop-test acons 'acons |
(def-type-prop-test acons 'acons |
265 |
(list t t #'(lambda (x y) (make-list-type (random 5) 'null '(or null (cons t t))))) |
(list t t #'(lambda (x y) (make-list-type (random 5) 'null '(or null (cons t t))))) |
266 |
3) |
3) |
399 |
4 |
4 |
400 |
:test #'(lambda (x y) (same-set-p x y :key #'car))) |
:test #'(lambda (x y) (same-set-p x y :key #'car))) |
401 |
|
|
402 |
;;; Others cons-related functions here |
(def-type-prop-test nintersection.1 'nintersection '(list list) 2 :test #'same-set-p :replicate t) |
403 |
|
(def-type-prop-test nintersection.2 'nintersection '(list list (eql :key) (eql identity)) 4 :test #'same-set-p :replicate t) |
404 |
|
(def-type-prop-test nintersection.3 'nintersection |
405 |
|
(list #'(lambda () (make-list-type (random 10) 'null 'integer)) |
406 |
|
#'(lambda (x) (make-list-type (random 10) 'null 'integer)) |
407 |
|
'(eql :key) |
408 |
|
`(member 1+ ,#'1+)) |
409 |
|
4 |
410 |
|
:test #'same-set-p |
411 |
|
:replicate t) |
412 |
|
(def-type-prop-test nintersection.4 'nintersection |
413 |
|
(list #'(lambda () (make-list-type (random 10) 'null '(cons integer null))) |
414 |
|
#'(lambda (x) (make-list-type (random 10) 'null '(cons integer null))) |
415 |
|
'(eql :key) |
416 |
|
`(member car ,#'car)) |
417 |
|
4 |
418 |
|
:test #'(lambda (x y) (same-set-p x y :key #'car)) |
419 |
|
:replicate t) |
420 |
|
(def-type-prop-test nintersection.5 'nintersection |
421 |
|
(list #'(lambda () (make-list-type (random 10) 'null '(cons integer null))) |
422 |
|
#'(lambda (x) (make-list-type (random 10) 'null '(cons integer null))) |
423 |
|
'(eql :test) |
424 |
|
`(member equal ,#'equal)) |
425 |
|
4 |
426 |
|
:test #'(lambda (x y) (same-set-p x y :key #'car)) |
427 |
|
:replicate t) |
428 |
|
|
429 |
|
|
430 |
|
(def-type-prop-test adjoin.1 'adjoin '(t list) 2) |
431 |
|
(def-type-prop-test adjoin.2 'adjoin '((integer 0 1) list) 2) |
432 |
|
(def-type-prop-test adjoin.3 'adjoin `((integer 0 10) (cons number (cons number (cons number null))) |
433 |
|
(eql :test) (or (eql =) (eql ,#'=))) |
434 |
|
4) |
435 |
|
(def-type-prop-test adjoin.4 'adjoin `(number |
436 |
|
(cons number (cons number (cons number (cons number null)))) |
437 |
|
(eql :test-not) (or (eql /=) (eql ,#'/=))) |
438 |
|
4) |
439 |
|
(def-type-prop-test adjoin.5 'adjoin `(number |
440 |
|
(cons number (cons number (cons number (cons number null)))) |
441 |
|
(eql :key) (or (member 1+ 1- ,#'1+ ,#'1-))) |
442 |
|
4) |
443 |
|
|
444 |
|
(def-type-prop-test pushnew.1 '(lambda (x y) (list (pushnew x y) y)) '(t list) 2) |
445 |
|
(def-type-prop-test pushnew.2 '(lambda (x y) (list (pushnew x y) y)) '((integer 0 1) list) 2) |
446 |
|
(def-type-prop-test pushnew.3 '(lambda (x y) (list (pushnew x y :test #'=) y)) |
447 |
|
`((integer 0 10) (cons number (cons number (cons number null)))) |
448 |
|
2) |
449 |
|
(def-type-prop-test pushnew.4 '(lambda (x y) (list (pushnew x y :test-not #'/=) y)) |
450 |
|
`((integer 0 10) (cons number (cons number (cons number null)))) |
451 |
|
2) |
452 |
|
(def-type-prop-test pushnew.5 '(lambda (x y) (list (pushnew x y :key #'1+) y)) |
453 |
|
`(number (cons number (cons number (cons number (cons number null))))) |
454 |
|
2) |
455 |
|
|
456 |
|
(def-type-prop-test set-difference.1 'set-difference '(list list) 2) |
457 |
|
(def-type-prop-test set-difference.2 'set-difference '((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
458 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))) |
459 |
|
2) |
460 |
|
(def-type-prop-test set-difference.3 'set-difference `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
461 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
462 |
|
(eql :test) (member = ,#'=)) |
463 |
|
4) |
464 |
|
(def-type-prop-test set-difference.4 'set-difference `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
465 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
466 |
|
(eql :test-not) (member /= ,#'/=)) |
467 |
|
4) |
468 |
|
(def-type-prop-test set-difference.5 'set-difference `((cons (unsigned-byte 3) (cons (unsigned-byte 3) null)) |
469 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) null)) |
470 |
|
(eql :key) (member evenp oddp ,#'evenp ,#'oddp)) |
471 |
|
4) |
472 |
|
|
473 |
|
(def-type-prop-test nset-difference.1 'nset-difference '(list list) 2 :replicate t) |
474 |
|
(def-type-prop-test nset-difference.2 'nset-difference '((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
475 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))) |
476 |
|
2 :replicate t) |
477 |
|
(def-type-prop-test nset-difference.3 'nset-difference `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
478 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
479 |
|
(eql :test) (member = ,#'=)) |
480 |
|
4 :replicate t) |
481 |
|
(def-type-prop-test nset-difference.4 'nset-difference `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
482 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
483 |
|
(eql :test-not) (member /= ,#'/=)) |
484 |
|
4 :replicate t) |
485 |
|
(def-type-prop-test nset-difference.5 'nset-difference `((cons (unsigned-byte 3) (cons (unsigned-byte 3) null)) |
486 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) null)) |
487 |
|
(eql :key) (member evenp oddp ,#'evenp ,#'oddp)) |
488 |
|
4 :replicate t) |
489 |
|
|
490 |
|
|
491 |
|
(def-type-prop-test set-exclusive-or.1 'set-exclusive-or '(list list) 2) |
492 |
|
(def-type-prop-test set-exclusive-or.2 'set-exclusive-or '((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
493 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))) |
494 |
|
2) |
495 |
|
(def-type-prop-test set-exclusive-or.3 'set-exclusive-or `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
496 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
497 |
|
(eql :test) (member = ,#'=)) |
498 |
|
4) |
499 |
|
(def-type-prop-test set-exclusive-or.4 'set-exclusive-or `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
500 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
501 |
|
(eql :test-not) (member /= ,#'/=)) |
502 |
|
4) |
503 |
|
(def-type-prop-test set-exclusive-or.5 'set-exclusive-or `((cons (unsigned-byte 3) (cons (unsigned-byte 3) null)) |
504 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) null)) |
505 |
|
(eql :key) (member evenp oddp ,#'evenp ,#'oddp)) |
506 |
|
4) |
507 |
|
|
508 |
|
(def-type-prop-test nset-exclusive-or.1 'nset-exclusive-or '(list list) 2 :replicate t) |
509 |
|
(def-type-prop-test nset-exclusive-or.2 'nset-exclusive-or '((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
510 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))) |
511 |
|
2 :replicate t) |
512 |
|
(def-type-prop-test nset-exclusive-or.3 'nset-exclusive-or `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
513 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
514 |
|
(eql :test) (member = ,#'=)) |
515 |
|
4 :replicate t) |
516 |
|
(def-type-prop-test nset-exclusive-or.4 'nset-exclusive-or `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
517 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))) |
518 |
|
(eql :test-not) (member /= ,#'/=)) |
519 |
|
4 :replicate t) |
520 |
|
(def-type-prop-test nset-exclusive-or.5 'nset-exclusive-or `((cons (unsigned-byte 3) (cons (unsigned-byte 3) null)) |
521 |
|
(cons (unsigned-byte 3) (cons (unsigned-byte 3) null)) |
522 |
|
(eql :key) (member evenp oddp ,#'evenp ,#'oddp)) |
523 |
|
4 :replicate t) |
524 |
|
|
525 |
|
(def-type-prop-test subsetp.1 'subsetp '(list list) 2) |
526 |
|
(def-type-prop-test subsetp.2 'subsetp '((cons integer null) |
527 |
|
(cons integer (cons integer (cons integer (cons integer null))))) |
528 |
|
2) |