Quoth [email protected] (Ludovic Courtès):
> Hi,
>
> Sebastian Tennant <[email protected]> writes:
>
>> My semantic point is that the first argument to definer (above) is not a
>> symbol and it's not a variable (an unbound variable error would be
>> thrown if it was), so in the context of the first agument to define
>> there is a third data type; 'variable name'.
>
> Beware: the term "variable" can refer to an object as returned by
> `make-variable', `module-variable', etc., in Guile parlance (info
> "(guile) Variables").

Noted.

> What happens with your `definer' macro is that the first argument of the
> macro is a symbol (that is, during the *macro expansion* phase).  The
> result of `definer' (an sexp) is then itself evaluated, so that symbol
> becomes a reference to a variable (during the evaluation phase).

Thanks for your input Ludo.

I can't say I've fully grokked it yet but I'm spending _far_ too much
time on this, so I'm going to let it go for now :)

Seb





Reply via email to