Plaster
New
List
Login
common-lisp
default
shinmera
2019.09.17 06:36:18
(deftype sequence* (element-type) (let ((name (intern (format NIL "~a-SEQ-P" element-type)))) (compile name `(lambda (seq) (etypecase seq (list (loop for el in seq always (typep el ',element-type))) (vector (loop for el across seq always (typep el ',element-type)))))) `(and sequence (satisfies ,name))))
Raw
Annotate
Repaste