A ß
@akater а я могу задать тип "список символов" в cl/eieio?
Да.
```
ELISP> (cl-deftype list-of (type)
`(and list
(satisfies ,(partial 'cl-every
(rpartial 'cl-typep type)))))
(closure
(t)
(type)
`(and list
(satisfies ,(partial 'cl-every
(rpartial 'cl-typep type)))))
ELISP> (typep '(a b) `(list-of symbol))
t
ELISP> (typep '(a b 0) `(list-of symbol))
nil
ELISP> (typep '(0 1 2) `(list-of number))
t
ELISP> (typep '(a 0 1) `(list-of number))
nil
ELISP> (typep nil `(list-of t))
t
ELISP> (typep t `(list-of integer))
nil
ELISP> (defclass test-class ()
((test-slot :type (list-of symbol) :initarg :test-slot)))
test-class
ELISP> (make-instance 'test-class :test-slot t)
*** Eval error *** Invalid slot type: test-class, test-slot, (list-of symbol), t
ELISP> (make-instance 'test-class :test-slot '(a b 0))
*** Eval error *** Invalid slot type: test-class, test-slot, (list-of symbol), (a b 0)
ELISP> (make-instance 'test-class :test-slot '(a b))
#<test-class test-class-156d86fdd982>
```