#!/bin/sh #| exec racket -qu "$0" ${1+"$@"} |# #lang racket (require (planet stamourv/sexp-diff)) (define (read-and-expand file) (with-input-from-string ;; read-syntax won't work with #lang (with-output-to-string (lambda () (system (format "mzc --expand ~a" file)))) read)) (let ((old (vector-ref (current-command-line-arguments) 0)) (new (vector-ref (current-command-line-arguments) 1))) (pretty-print (sexp-diff (read-and-expand old) (read-and-expand new))))