История изменений
Исправление monk, (текущая версия) :
Проверь, пожалуйста:
Не работает
> (expand-once '(dst id b c #:c-id cc))
dst: expected expression in: #:c-id
Именно то, что ты записал можно и стандартно сделать
(define-syntax (dst stx)
(syntax-case stx ()
[(dst id #:c-id c-id params ...)
#'(src d #:c-id c-id params ...)]
[(dst id params ...)
#`(src id params ... #:c-id #,(make-new-id id))]))
Исходная версия monk, :
Проверь, пожалуйста:
Не работает
> (expand-once '(dst id b c #:c-id cc))
dst: expected expression in: #:c-id
Именно то, что ты записал можно и стандартно сделать
(define-syntax (dst stx)
(syntax-case stx ()
[(dst id #:c-id c-id params ...) #'(src d #:c-id c-id params ...)]
[(dst id params ...)
(if (memq '#:c-id (syntax->datum #'(params ...)))
#'(src id params ...)
#`(src id params ... #:c-id #,(make-new-id id))))]))