Discussion:
[Geiser-users] macro expansion
Catonano
2018-04-28 10:41:37 UTC
Permalink
I made a small (< 7 Mb) footage of me expanding a macro through Geiser

it' s here
http://catonano.v22018025836661967.nicesrv.de/resources/videos/expanding.flv

The macro I am expanding is defined in the Guix code and it is supposed to
deliver some forms creating and manipulating srfi-9 forms (records)

but the result I see is a piece of code creating and manipulating a
structure

It seems to me that also the vanilla srfi-9 forms have been expanded and I'
m getting the lowest level possible (there are no more macros to expand in
the code I am seeing)

In the Guile NEWS file I read this excerpt


** `macroexpand' produces structures, not S-expressions.

Given the need to maintain referential transparency, both lexically and
modular, the result of expanding Scheme expressions is no longer itself
an s-expression. If you want a human-readable approximation of the
result of `macroexpand', call `tree-il->scheme' from `(language
tree-il)'.


so I' m not sure now: is il-tree->scheme being called in my example ?

or am I supposed to call it myself ?

Thanks in advance

Loading...