Improve TR assertion error message

This commit is contained in:
Asumu Takikawa 2013-09-05 20:10:58 -04:00
parent dbe4594903
commit 3becf8492b

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))))