(import scheme) (import (chicken base)) (import (chicken foreign)) #> #include #include <# (define (current-timestamp) (let-location ((sec long 0) (usec long 0)) ((foreign-lambda* void (((c-pointer long) sec) ((c-pointer long) usec)) "struct timeval tp; gettimeofday(&tp, NULL);" "*sec = tp.tv_sec; *usec = tp.tv_usec;") (location sec) (location usec)) (cons sec usec))) (let* ((timestamp (current-timestamp)) (sec (car timestamp)) (usec (cdr timestamp))) (print (exact->inexact (+ sec (/ usec 1000000)))))