Reimplemented assert as a macro.
original commit: 8dfd7d87ecd5d167514f8c7c5468448c6ad86547
This commit is contained in:
parent
eed1167639
commit
e6d4962b46
|
@ -1,8 +1,10 @@
|
|||
#lang scheme/base
|
||||
(provide assert)
|
||||
|
||||
(define (assert v [pred values])
|
||||
(unless (pred v)
|
||||
(error "Assertion failed"))
|
||||
v)
|
||||
|
||||
(define-syntax assert
|
||||
(syntax-rules ()
|
||||
((assert v)
|
||||
(or v (error "Assertion failed")))
|
||||
((assert v pred)
|
||||
(let ((val v))
|
||||
(if (pred val) val (error "Assertion failed"))))))
|
||||
|
|
Loading…
Reference in New Issue
Block a user