В Guix есть слой из макросов, украшающий создание и управление записями srfi-9
Код находится в guix / records.scm
код большой и четко сформулированный
Я подумал расширить эти макросы, чтобы увидеть их ввод и вывод, чтобы понять, что они делают
Дело в том, что даже стандартные записи vanilla srfi-9 являются макросами вокруг структур, в свою очередь
Итак, расширение макроса дает мне полностью расширенный код для создания и управления структурами.
Я бы предпочел увидеть результат одного прохода раскрытия макроса, чтобы увидеть, какой код srfi-9 сгенерировал макрос Guix
В Clojure есть macroexpand
и macroexpand-1
macroexpand-1
выполняет один проход раскрытия макроса и macroexpand
повторно вызывает macroexpand-1
до тех пор, пока в обрабатываемых формах больше не будет макросов для расширения
Вы можете увидеть это здесь
Есть ли аналогичная опция в схеме Guile?
Мне не хватает трюка рабочего процесса, какого-либо инструмента, какой-либо библиотечной функции или макроса для решения этой проблемы?