(import foreign) (use srfi-4) (foreign-declare " int sum(int n, int32_t* array) { int i; int result = 0; for (i = 0; i < n; i++) { result += array[i]; } return result; }") (define c-sum (foreign-lambda int "sum" int scheme-pointer)) (define some-numbers (s32vector 1 1 2 3 5 8 13)) (display (c-sum (s32vector-length some-numbers) (s32vector->blob some-numbers)))