Мне нужен макрос, который создает новый идентификатор, например
(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
Если я поставлю! значение привязки «новое имя», то оно должно повлиять на вновь созданную процедуру.