Improve TR assertion error message

original commit: 3becf8492b4ee40a68bb8be9081cf64530a6a7f8
This commit is contained in:
Asumu Takikawa 2013-09-05 20:10:58 -04:00
parent 399bb7eccd
commit 63bf4d67b6

View File

@ -4,10 +4,12 @@
(define-syntax assert
(syntax-rules ()
((assert v)
(or v (error "Assertion failed")))
(or v (error (format "Assertion failed on ~v" v))))
((assert v pred)
(let ((val v))
(if (pred val) val (error "Assertion failed"))))))
(if (pred val)
val
(error (format "Assertion ~a failed on ~v" pred val)))))))
(define (defined? v)
(not (equal? v (letrec ([x x]) x))))