ref: 7bcf6ac7b612306d197d063aaf6d971ca5dd2e3f
dir: /mkboot0.lsp/
; -*- scheme -*- (define update-compiler (let ((C ())) (with-bindings ((eval (λ (x) (set! C (cons (compile-thunk (expand x)) C))))) (begin (load "instructions.lsp") (load "compiler.lsp"))) (λ () (begin (for-each (λ (x) (x)) (reverse! C)) (set! update-compiler (λ () ())))))) (define (compile-file inf) (let ((in (file inf :read))) (let next ((E (read in))) (if (not (io-eof? in)) (begin (print (compile-thunk (expand E))) (newline) (next (read in))))) (io-close in))) (define (do-boot0) (for-each (λ (file) (compile-file file)) (cdr *argv*))) (update-compiler) (do-boot0)