libffi will have support for varargs in the future.  How could the syntax in 
Guile be handled?

How about ellipsis symbol in pointer->procedure and a pair for each va-arg: 
type in car and value in car?

> (define p (dynamic-func “printf” (dynamic-link)))
> (define f (pointer->procedure int p (list ‘* ‘…)))
> (f (string->pointer “n = %d\n”) `(int . 30))
n = 10


Reply via email to