SA
Size: a a a
SA
SA
SA
SA
.....
,@(loop :for name: in names
:collect `[name])
SA
AE
AE
SA
SA
SA
AE
VM
VM
SA
(defmacro with-dot-syntax (single-form)
(labels ((expand (ls)
(if (= 2 (length ls))
`(slot-value ,(intern (cadr ls)) ',(intern (car ls)))
(destructuring-bind (head . tail) ls
`(slot-value ,(expand tail) ',(intern head)))))
(transform (name)
(if (not (keywordp name))
(let ((strname (string name)))
(if (and (/= 0 (count #\. strname :test #'char=))
(char/= #\. (char strname 0) (char strname (1- (length strname)))))
(expand (reverse (uiop:split-string strname :separator ".")))
name))
name))
(map-transform (object)
(if (atom object)
(transform object)
(mapcar #'map-transform object))))
(map-transform single-form)))
SA
SA
SA
uiop:split-string
SA
AE
split-sequence
заюзать.SA