Я хочу макрос, который создает новый идентификатор, такой как
(new-name first second) => first-second
, который можно использовать для определения новых привязок верхнего уровня
(define-syntax define-generic
(syntax-rules ()
((define-generic (name a b ...))
(begin
(define (new-name name data) 15) ; <= create a new binding
(define name (lambda (a b ...)
(add (new-name name-data) 7)))))) ; <= use new identifier
Если я установлю! значение привязки «новое имя», то оно должно влиять на вновь создаваемую процедуру.