Sam,<br><br>The paragraph about syntax-local-lift-expression is referring to provide _pre_-transformers, not normal provide transformers.  You need to use make-provide-pre-transformer, not make-provide-transformer.<br><br>

--Carl<br><div class="gmail_extra"><br clear="all">Carl Eastlund<br>
<br><br><div class="gmail_quote">On Fri, Nov 23, 2012 at 3:55 PM, Sam Vervaeck <span dir="ltr">&lt;<a href="mailto:vervaeck.sam@skynet.be" target="_blank">vervaeck.sam@skynet.be</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div link="blue" vlink="purple" lang="NL-BE"><div><p class="MsoNormal"><span lang="EN-GB">Hi,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">I have a question relating to syntax-transformers.<u></u><u></u></span></p>

<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">I’m trying to implement my own provide-syntax using <i>make-provide-transformer</i>. The documentation says that it should be possible to use <i>syntax-local-lift-expression </i>to dynamically insert new variables into the module and then export them (see link below), but I really don’t seem to get it working. A somewhat trivial example:<u></u><u></u></span></p>

<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">(define-syntax one-two-three<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB">  (make-provide-transformer<u></u><u></u></span></p>

<p class="MsoNormal"><span lang="EN-GB">    (lambda (stx modes)<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB">      (list (make-export (syntax-lift-expression #’1) ‘one #f #f stx)<u></u><u></u></span></p>

<p class="MsoNormal"><span lang="EN-GB">              (make-export (syntax-lift-expression #’2) ‘two #f #f stx) <u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB">              (make-export (syntax-lift-expression #’3) ‘three #f #f stx)))))<u></u><u></u></span></p>

<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">(povide (one-two-three))<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>

<p class="MsoNormal"><span lang="EN-GB">Could you by any chance provide me with an example of how the two procedures can be used to achieve this?<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>

<p class="MsoNormal"><span lang="EN-GB">Greetings,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">Sam<u></u><u></u></span></p><p class="MsoNormal">

<span lang="EN-GB"> <u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB">PS: I’m referring to paragraph two of <a href="http://docs.racket-lang.org/reference/stxtrans.html#%28tech._provide._transformer%29" target="_blank">http://docs.racket-lang.org/reference/stxtrans.html#(tech._provide._transformer)</a> <u></u><u></u></span></p>

</div></div><br>____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br></blockquote></div><br></div>