1 (in-package :lisp-on-lines
)
3 (define-layered-function line-in
(name)
4 (:method-combination append
)
5 (:method append
(thing)
8 (defmacro defline
(name (specializer &rest layers-and-combination-keywords
) &body docstring-and-body
)
10 (define-layered-method
12 ,@layers-and-combination-keywords
14 (or (third layers-and-combination-keywords
)
15 (and layers-and-combination-keywords
16 (null (cdr layers-and-combination-keywords
))))
19 ,(when (cdr docstring-and-body
)
20 (car docstring-and-body
))
22 ,(or (cdr docstring-and-body
) (car docstring-and-body
)))))