Hi there,<div><br></div><div>I decided that it would be good to make sure that I am up-to-date with Gambit 4.4 before I posted my web framework here for those who have expressed an interest and I am finding a destructive interaction when using the c-lambda form.</div>
<div><br></div><div>With the code in the sequel and Gambit 4.4.0, if I compile thusly:</div><div><br></div><div>$ gsc -:s -link bug.gambit</div><div>*** ERROR IN MAP -- invalid syntax ()</div><div><br></div><div>but it compiles fine if I omit the -:s option. Now obviously, the example does not require syntax-rules macros, but the full framework certainly does. Is there a known incompatibility here? The text concerning define-syntax hints at such a possibility, but the actual interaction is unclear.<br clear="all">
<br></div><div>david<br>-- <br>GPG Public key at <a href="http://cyber-rush.org/drr/gpg-public-key.txt">http://cyber-rush.org/drr/gpg-public-key.txt</a><br>
</div><div><br></div><div><div>; Null module for: Prelude</div><div>(c-declare</div><div>  "</div><div>#include <sys/time.h></div><div>#include <time.h></div><div>")</div><div><br></div><div>(c-define-type timeval (struct "timeval"))</div>
<div>(c-define-type timeval* (pointer timeval))<br></div><div><br></div><div>(define</div><div>  make-timeval</div><div>  (c-lambda</div><div>    ()</div><div>    timeval*</div><div>    "___result_voidstar = ___EXT(___alloc_mem)(sizeof(struct timeval));"))</div>
<div><br></div><div>(define<br></div><div>  timeval.tv_sec</div><div>  (c-lambda</div><div>    (timeval*)</div><div>    int32</div><div>    " ___result = ___arg1->tv_sec;"))</div><div><br></div><div>(define<br>
</div><div>  timeval.tv_usec</div><div>  (c-lambda</div><div>    (timeval*)</div><div>    int32</div><div>    "___result = ___arg1->tv_usec;"))</div><div><br></div></div>