1;;; CAT -- One of the Kernighan and Van Wyk benchmarks.
2
3(define inport #f)
4(define outport #f)
5
6(define (catport port)
7  (let ((x (read-char port)))
8    (if (eof-object? x)
9        (close-output-port outport)
10        (begin
11          (write-char x outport)
12          (catport port)))))
13
14(define (go)
15  (set! inport (open-input-file "../../src/bib"))
16  (set! outport (open-output-file "foo"))
17  (catport inport)
18  (close-input-port inport))
19
20(define (main . args)
21  (run-benchmark
22   "cat"
23   cat-iters
24   (lambda (result) #t)
25   (lambda () (lambda () (go)))))
26