Thu Mar 13 14:59:33 EDT 2008
(define-syntax (foo stx)
(datum->syntax stx '(define bar 123)))
it defines 'bar'. replacing stx with #f doesn't work (no #%app error).
the same thing with #' doesn't work.. apparently, the latter creates
some lexical bindings..
so, the proper way to break hygiene is using 'datum->syntax'.
the thing to look at is build-struct-names from syntax/struct
this seems to work for the current state.ss
using (->syntax stx <symbol>) with stx the stx object that's
passed to define-lifted-tx, it seems to work fine. looks like
the problem was (->syntax #f <symbol>)
in short: the stx object seems to have knowledge of the module's
namespace, can tell whether names are module-local?