| 1 assert-level ! |
1 assert-level ! |
| |
|
| : assertn ( n -- ) |
: assertn ( n -- ) |
| |
\ this is internal (it is not immediate) |
| assert-level @ > |
assert-level @ > |
| if |
if |
| POSTPONE ( |
POSTPONE ( |
| then ; |
then ; |
| |
|
| : assert0( ( -- ) |
: assert0( ( -- ) |
| |
\ important assertions that should always be turned on |
| 0 assertn ; immediate |
0 assertn ; immediate |
| : assert1( ( -- ) |
: assert1( ( -- ) |
| |
\ normal assertions; turned on by default |
| 1 assertn ; immediate |
1 assertn ; immediate |
| : assert2( ( -- ) |
: assert2( ( -- ) |
| |
\ debugging assertions |
| 2 assertn ; immediate |
2 assertn ; immediate |
| : assert3( ( -- ) |
: assert3( ( -- ) |
| |
\ slow assertions that you may not want to turn on in normal debugging; |
| |
\ you would turn them on mainly for thorough checking |
| 3 assertn ; immediate |
3 assertn ; immediate |
| : assert( ( -- ) |
: assert( ( -- ) |
| |
\ equivalent to assert1( |
| POSTPONE assert1( ; immediate |
POSTPONE assert1( ; immediate |
| |
|
| : (endassert) ( flag -- ) |
: (endassert) ( flag -- ) |