6 (define (skip-head-match orig match)
13 (if (equal? (car orig*)
19 (define (basepath str)
23 (reverse (string->list str))
24 (reverse (string->list ".scm"))))))
26 (define (run cmd . args)
27 (let ((p (open-process (list path: (path-expand cmd)
30 stdout-redirection: #f
31 stderr-redirection: #f))))
32 (let ((s (process-status p)))
36 (exit 1)))));;; how to propagate exit codes portably?
38 ;; --- / library stuff
41 (define prog (car (command-line)))
42 (define args (cdr (command-line)))
44 (define (usage maybe-err)
48 (list maybe-err "\n\n")
50 "usage: "prog" path/to/file.scm"))
54 (if (= (length args) 1)
55 (let ((base (basepath (car args))))
56 (run "picobit" (string-append base ".scm"))
57 (run "picobit-vm" (string-append base ".hex")))
58 (usage "wrong number of arguments"))