<div dir="ltr"><div>There are a lot of details to get right in processing a module.  To really get them all right, use get-module-code from syntax/modcode.  Here&#39;s an example that produces expanded syntax rather than a compiled bytecode expression, if that&#39;s what you want:<br>

<br>#lang racket<br>(require racket/runtime-path syntax/modcode)<br>(define-runtime-path code &quot;code.rkt&quot;)<br>(syntax-&gt;datum<br>  (get-module-code code<br>    #:compile expand))<br><br></div>Put your file to expand in &quot;code.rkt&quot; in the same directory as that program.  Obviously you can change the code to produce some other path instead, as needed, but define-runtime-path worked for a quick example.<br>

<div><br></div></div><div class="gmail_extra"><br clear="all"><div>Carl Eastlund</div>
<br><br><div class="gmail_quote">On Fri, Jun 14, 2013 at 4:32 PM, Vincent St-Amour <span dir="ltr">&lt;<a href="mailto:stamourv@ccs.neu.edu" target="_blank">stamourv@ccs.neu.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Ah, right, sorry about that. My previous example works at the REPL, but<br>
not in a module. This should work in both cases:<br>
<br>
    (parameterize ([read-accept-reader #t]<br>
                   [current-namespace (make-base-namespace)])<br>
      (expand (read-syntax fichier-programme in)))<br>
<br>
<br>
Vincent<br>
<br>
<br>
At Fri, 14 Jun 2013 16:23:18 -0400,<br>
<div class="HOEnZb"><div class="h5">Andre Mayers wrote:<br>
&gt;<br>
&gt; Thank you for your answer, it works partially.<br>
&gt;<br>
&gt; The read-syntax returns<br>
&gt;       &#39;(module fichier-programme racket<br>
&gt;          (#%module-begin<br>
&gt;            (define aa 7)<br>
&gt;            (let ((bb 3)) (+ aa bb))))<br>
&gt;<br>
&gt; but expand cannot expand it. The error message is<br>
&gt;       &lt;unsaved editor&gt;::1: module: unbound identifier;<br>
&gt;       also, no #%app syntax transformer is bound in: module<br>
&gt;<br>
&gt; -----Message d&#39;origine-----<br>
&gt; De : Vincent St-Amour [mailto:<a href="mailto:stamourv@ccs.neu.edu">stamourv@ccs.neu.edu</a>]<br>
&gt; Envoyé : 14 juin 2013 16:02<br>
&gt; À : Andre Mayers<br>
&gt; Cc : &#39;Racket&#39;<br>
&gt; Objet : Re: [racket] How to to make a program that will take a simple racket file, parse it with the reader in a way that I can expand it?<br>
&gt;<br>
&gt; The following should work:<br>
&gt;<br>
&gt;     (parameterize ([read-accept-reader #t])<br>
&gt;       (expand (read-syntax fichier-programme in)))<br>
&gt;<br>
&gt; If you don&#39;t need to manipulate the expansion programmatically, you can use DrRacket&#39;s Macro Stepper instead.<br>
&gt;<br>
&gt; Vincent<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; At Fri, 14 Jun 2013 15:48:40 -0400,<br>
&gt; Andre Mayers wrote:<br>
&gt; &gt;<br>
&gt; &gt; [1  &lt;multipart/alternative (7bit)&gt;]<br>
&gt; &gt; [1.1  &lt;text/plain; iso-8859-1 (quoted-printable)&gt;] I want to make a<br>
&gt; &gt; little program that will take a simple racket file, parse it with the<br>
&gt; &gt; reader in a way that I can expand it.<br>
&gt; &gt;<br>
&gt; &gt; For example, I have the file programme.rkt that have the following line :<br>
&gt; &gt;<br>
&gt; &gt;                 #lang racket<br>
&gt; &gt;<br>
&gt; &gt;                 (define aa 7)<br>
&gt; &gt;<br>
&gt; &gt;                 (let ( [bb 3])<br>
&gt; &gt;<br>
&gt; &gt;                   (+ aa bb))<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; I would like to do something like<br>
&gt; &gt;<br>
&gt; &gt;                 (define fichier-programme &quot;C:\\fichier-programme.rkt&quot;)<br>
&gt; &gt;<br>
&gt; &gt;                 (define in (open-input-file fichier-programme))<br>
&gt; &gt;<br>
&gt; &gt;                 (expand (read-syntax fichier-programme in))<br>
&gt; &gt;<br>
&gt; &gt;                 (close-input-port in)<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; André Mayers, Ph.D., M. Ps.<br>
&gt; &gt;<br>
&gt; &gt; professeur agrégé<br>
&gt; &gt;<br>
&gt; &gt; Département d&#39;informatique<br>
&gt; &gt;<br>
&gt; &gt; Université de Sherbrooke<br>
&gt; &gt;<br>
&gt; &gt; Sherbrooke (Québec) Canada J1K 2R1<br>
&gt; &gt;<br>
&gt; &gt; tél: +1 819-821-8000 poste 62041<br>
&gt; &gt;<br>
&gt; &gt; fax: +1 819-821-8200<br>
&gt; &gt;<br>
&gt; &gt; <a href="mailto:andre.mayers@usherbrooke.ca">andre.mayers@usherbrooke.ca</a><br>
&gt; &gt;<br>
&gt; &gt; <a href="http://info.usherbrooke.ca/AndreMayers" target="_blank">http://info.usherbrooke.ca/AndreMayers</a><br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; De : <a href="mailto:users-bounces@racket-lang.org">users-bounces@racket-lang.org</a><br>
&gt; &gt; [mailto:<a href="mailto:users-bounces@racket-lang.org">users-bounces@racket-lang.org</a>] De la part de Matt Jadud Envoyé<br>
&gt; &gt; : 14 juin 2013 14:38 À : Sam Tobin-Hochstadt Cc : Racket Objet : Re:<br>
&gt; &gt; [racket] Racket Blogging - How To??<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; I had no idea!<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; I take it this is my Jekyll replacement? Thank you!<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Cheers,<br>
&gt; &gt;<br>
&gt; &gt; Matt<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On Fri, Jun 14, 2013 at 11:31 AM, Sam Tobin-Hochstadt<br>
&gt; &gt; &lt;<a href="mailto:samth@ccs.neu.edu">samth@ccs.neu.edu</a>&gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; On Fri, Jun 14, 2013 at 11:24 AM, Ray Racine &lt;<a href="mailto:ray.racine@gmail.com">ray.racine@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt; So I&#39;m thinking about blogging about some aspect (positive) of<br>
&gt; &gt; &gt; Racket<br>
&gt; &gt; coding<br>
&gt; &gt; &gt; this weekend.  Not sure what the options are these days.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; A) Use a blogging site of choice + cut/paste into some online code<br>
&gt; &gt; &gt; formatter, enscriptem etc..<br>
&gt; &gt; &gt; B) Use Scribble to generate html -&gt; host generated html on gitpages<br>
&gt; &gt; &gt; or<br>
&gt; &gt; self<br>
&gt; &gt; &gt; host.<br>
&gt; &gt; &gt; C) I recall seeing at least 1 or 2 posts on the list about some<br>
&gt; &gt; &gt; Racket<br>
&gt; &gt; &gt; project(s) which facilitate Racket blogging.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Recommendations?<br>
&gt; &gt;<br>
&gt; &gt; Frog: <a href="https://github.com/greghendershott/frog" target="_blank">https://github.com/greghendershott/frog</a><br>
&gt; &gt;<br>
&gt; &gt; Sam<br>
&gt; &gt; ____________________<br>
&gt; &gt;   Racket Users list:<br>
&gt; &gt;   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; [1.2  &lt;text/html; iso-8859-1 (quoted-printable)&gt;]<br>
&gt; &gt;<br>
&gt; &gt; [2  &lt;text/plain; us-ascii (7bit)&gt;]<br>
&gt; &gt; ____________________<br>
&gt; &gt;   Racket Users list:<br>
&gt; &gt;   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
&gt;<br>
&gt;<br>
<br>
____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</div></div></blockquote></div><br></div>