<div dir="ltr">Thanks a lot, Matthew! That works!</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, May 14, 2013 at 8:06 AM, Matthew Flatt <span dir="ltr">&lt;<a href="mailto:mflatt@cs.utah.edu" target="_blank">mflatt@cs.utah.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Alfred,<br>
<br>
See<br>
<br>
  <a href="http://docs.racket-lang.org/guide/eval.html#(part._namespaces)" target="_blank">http://docs.racket-lang.org/guide/eval.html#(part._namespaces)</a><br>
<br>
Matthew<br>
<div><div class="h5"><br>
At Tue, 14 May 2013 07:01:51 -0400, Alfred Zhong wrote:<br>
&gt; Hi Racket experts,<br>
&gt;<br>
&gt; I am reading SICP and trying this piece of code using Racke:<br>
&gt;<br>
&gt; (define (definition-value exp)<br>
&gt;     (if (symbol? (cadr exp))<br>
&gt;         (caddr exp)<br>
&gt;           (make-lambda<br>
&gt;             (cdadr exp) ; formal parameters<br>
&gt;                (cddr exp)  ; body<br>
&gt;         )<br>
&gt;     )<br>
&gt; )<br>
&gt;<br>
&gt; (define (make-lambda parameters body)<br>
&gt;     (cons &#39;lambda (cons parameters body))<br>
&gt; )<br>
&gt;<br>
&gt; (  (eval  (definition-value &#39;(define (double x) (+ x x))) ) 10)<br>
&gt;<br>
&gt; In REPL, it return 20 with no problem.<br>
&gt;<br>
&gt; However, if I put it into a file and use racket command to run it (with<br>
&gt; #lang scheme in the file)<br>
&gt;<br>
&gt; it complains:<br>
&gt; compile: unbound identifier (and no #%app syntax transformer is bound) at:<br>
&gt; lambda in: (lambda (x) (+ x x))<br>
&gt;<br>
&gt; Do you have any idea what happened there? How can I solve this problem?<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Alfred<br>
</div></div>&gt; ____________________<br>
&gt;   Racket Users list:<br>
&gt;   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</blockquote></div><br></div>