Я пытаюсь написать код для печати символа и оценить функцию, связанную с ним, в ракетке
Мне уже удалось добиться этого во время выполнения с помощью eval, но я думаю, что это должно быть возможно и без используя eval.
Eval версия:
(define ns (namespace-anchor->namespace a))
(define (deco-display fun-sym bstr)
(display (symbol->string fun-sym))
(display ": ")
(display (eval `(,fun-sym ,bstr) ns)))
пример использования:
(define (extract-id bstr) (subbytes bstr 0 8 ))
(deco-display 'extract-id bstr)
Я пытался:
(define (xxx) (display "asdas"))
(define-syntax (print-and-do stx)
(syntax-case stx ()
[(_ p) #`(begin (display #'p) (newline) (p))]))
, но результат не что я ожидал
(print-and-do xxx)
.#<syntax:interactions from an unsaved editor:5:16 xxx>
asdas