(define-library (worker) (export make-worker) (import (scheme base)) (include "worker.scm") ) ;; end library worker
(define (make-worker n) (lambda () (set! n (+ n 1)) n) )
#!/usr/bin/env chibi-scheme (import (scheme base) (scheme write) (scheme process-context) (worker) ) (define (print . args) (for-each display args) (newline) ) (define (main argv) (print argv) (let ( (w (make-worker 0)) ) (print "worker: " (w)) (print "worker: " (w)) (print "worker: " (w)) ) ) (main (cdr (command-line))) ;; or remove this line, add -r to shebang line
% ./main.scm
Up to category-code