[gambit-list] Bug involving syntax-rules and c-lambda

David Rush kumoyuki at gmail.com
Mon Feb 2 06:57:20 EST 2009


Hi there,
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.

With the code in the sequel and Gambit 4.4.0, if I compile thusly:

$ gsc -:s -link bug.gambit
*** ERROR IN MAP -- invalid syntax ()

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.

david
-- 
GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt

; Null module for: Prelude
(c-declare
  "
#include <sys/time.h>
#include <time.h>
")

(c-define-type timeval (struct "timeval"))
(c-define-type timeval* (pointer timeval))

(define
  make-timeval
  (c-lambda
    ()
    timeval*
    "___result_voidstar = ___EXT(___alloc_mem)(sizeof(struct timeval));"))

(define
  timeval.tv_sec
  (c-lambda
    (timeval*)
    int32
    " ___result = ___arg1->tv_sec;"))

(define
  timeval.tv_usec
  (c-lambda
    (timeval*)
    int32
    "___result = ___arg1->tv_usec;"))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20090202/12f878ef/attachment.htm>


More information about the Gambit-list mailing list