передавая тело функции - PullRequest
       11

передавая тело функции

0 голосов
/ 29 ноября 2018

Есть ли способ, которым я могу передать в теле функции, а не само имя в Racket?Например:

(define (foo x) (+ x 1))
(bar #'foo) ; I'd like to get #'(+ x 1) rather than #'foo

1 Ответ

0 голосов
/ 29 ноября 2018

Нет.

Исходный код функций не сохраняется во время выполнения в Racket.Возможно, вам удастся выполнить что-то вроде того, что вы хотите, с помощью некоторого макро-механизма или даже с помощью пользовательской формы lambda, которая хранит исходный код вместе с процедурой, но без дополнительного контекста о том, что вы на самом деле пытаетесь сделать, я не понимаюне могу дать более конкретный совет.

...