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
