72 |
collect e) |
collect e) |
73 |
nil) |
nil) |
74 |
|
|
75 |
|
(deftest the.11 |
76 |
|
(loop for e in *universe* |
77 |
|
for type = (type-of e) |
78 |
|
for x = (multiple-value-list (eval `(the ,type (the ,type |
79 |
|
(quote ,e))))) |
80 |
|
unless (and x (not (cdr x)) (eql (car x) e)) |
81 |
|
collect e) |
82 |
|
nil) |
83 |
|
|
84 |
|
(deftest the.12 |
85 |
|
(let ((lexpr |
86 |
|
`(lambda () |
87 |
|
(and |
88 |
|
,@(loop for e in *mini-universe* |
89 |
|
for type = (type-of e) |
90 |
|
collect `(eqlt (quote ,e) (the ,type (quote ,e)))))))) |
91 |
|
(funcall (compile nil lexpr))) |
92 |
|
t) |
93 |
|
|
94 |
|
(deftest the.13 |
95 |
|
(let ((x 0)) |
96 |
|
(values |
97 |
|
(the (or symbol integer) (incf x)) |
98 |
|
x)) |
99 |
|
1 1) |
100 |
|
|
101 |
|
(deftest the.14 |
102 |
|
(the (values &rest (cons t (cons t null))) (values 'a 'b)) |
103 |
|
a b) |
104 |
|
|
105 |
|
(deftest the.15 |
106 |
|
(the (values &rest (cons symbol (cons symbol null))) (values 'a 'b)) |
107 |
|
a b) |
108 |
|
|
109 |
|
(deftest the.16 |
110 |
|
(the (values &rest null) (values))) |