#! /bin/sh exec guile -L . -e main -s "$0" "$@" !# (use-modules (scmvm vm) (scmvm assembler) (srfi srfi-11) (srfi srfi-26) (ice-9 control)) (define (make-debugger source asm) ()) (define (debug file) (let*-values ([(source) (open-file file)] [(asm) (call-with-output-bytevector (cut assemble-file file <>))] [(begin-debugger resume-debugger) (make-debugger source asm)]) (% (begin-debugger) (resume-debugger)))) (define (main . args) (when (null? args) (usage)) (case (car args) [(help) (usage)] [(debug) (apply debug (cdr args))]))