<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 <<a href="mailto:elronnd@elronnd.net">elronnd@elronnd.net</a>> 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>
> It looks like s7 define returns the value defined:<br>
<br>
> Is there any way to turn that off? I can tell my _to_string function <br>
> 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>
',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 = "(define define "<br> "(let ((o-define define)) "<br> "(macro (k v) "<br> "`(begin "<br> "(,o-define ,k ,v) "<br> "',k)))) ";<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>