;; comp.scm ;; compiled with `csc -s comp.scm` (import foreign) (define-external x1 int 0) (define-external x2 int 0) (foreign-declare "void func(int* x, int* y){ *x = 21; *y = 42; }") (define (func) ((foreign-lambda* void () "func(&x1, &x2);")) (values x1 x2)) ;; csi interaction #;1> (load "comp.so") ; loading comp.so ... #;2> (func) 21 42 ; 2 values