Я пытаюсь написать схему, эквивалентную этому коду CL:
(defmacro alias (new-name prev-name)
`(defmacro ,new-name (&rest args)
`(,',prev-name ,@args)))
;; Sample use:
(alias co concatenate)
Моя цель состоит в том, чтобы иметь возможность использовать сокращенные имена для имен символов и функций, например:
(alias sa string-append)
(sa "ok" "not ok")
Для этого я попробовал это, но это не сработало:
(define-syntax alias (new-name prev-name)
`(define-syntax ,new-name (#!rest args)
`(,',prev-name ,@args)))
Любая помощь приветствуется.Спасибо.