(declare (module (jimmy main))) (import scheme (chicken base) (chicken port) (jimmy util) (jimmy read) (jimmy emit) (jimmy wrap)) (define-public (jimmy #!optional file template) (parameterize ((current-input-port (if file (open-input-file file) (current-input-port)))) (let ((doc (parse)) (post-proc (if template (cut wrap-with <> template) emit-string))) (post-proc doc))))