#!/bin/bash
exec guile -L . --language=wisp -s "$0" "$@"
!#
when : not : = 3 : length : command-line
format #t "Usage: ~A <wisp file> <scheme file>\n" : list-ref (command-line) 0
exit
define wisp-file : list-ref (command-line) 1
define scheme-file : list-ref (command-line) 2
use-modules
srfi srfi-1
wisp-scheme
define : read-all port
let readloop : : res : '
let : : next : read port
if : eof-object? next
. res
readloop : append res : list next
let
:
read-scheme
with-input-from-file scheme-file
λ ()
read-all : current-input-port
parsed-wisp
with-input-from-file wisp-file
λ ()
wisp-scheme-read-all : current-input-port
if : equal? parsed-wisp read-scheme
format #t "Files ~A and ~A have equivalent content.\n" scheme-file wisp-file
format #t "Files ~A and ~A are different!\n\nwisp: ~A\n\nscheme: ~A\n\n\n" scheme-file wisp-file parsed-wisp read-scheme