<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 30, 2021 at 2:11 PM Elijah Stone &lt;<a href="mailto:elronnd@elronnd.net">elronnd@elronnd.net</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, 30 Jul 2021, Gregg Reynolds wrote:<br>
<br>
&gt; It looks like s7 define returns the value defined:<br>
<br>
&gt; Is there any way to turn that off?  I can tell my _to_string function <br>
&gt; not to print the ast, but I still want this to print the ast:<br>
<br>
(define define<br>
   (let ((o-define define))<br>
     (macro (k v)<br>
       `(begin<br>
          (,o-define ,k ,v)<br>
          &#39;,k))))</blockquote><div><br></div><div>Ha-ha, I forgot that everything in Scheme is negotiable.  Even more so in s7:</div><div><br></div><div class="gmail_quote">char *def = &quot;(define define &quot;<br>   &quot;(let ((o-define define)) &quot;<br>    &quot;(macro (k v) &quot;<br>       &quot;`(begin &quot;<br>          &quot;(,o-define ,k ,v) &quot;<br>    &quot;&#39;,k)))) &quot;;<br><br></div>void sunlark_redefine_define(s7_scheme *s7)<br>{<br>    s7_pointer path = s7_eval_c_string(s7, def);<br>}<br><div> </div><div>Thanks!</div></div></div>