when
conditionally evaluates a block
Usage:
(when pred form*)
If the evaluated predicate is truthy (not #f (false) or the empty list), the forms are evaluated. Will evaluate each form in turn, returning the final evaluation as its result.
An Example
(define x '(1 2 3 4 5 6 7 8))
(when (> (length x) 3)
(println "x is big")
(length x))
If the symbol when-not
is used instead of when
, then the predicate is evaluated and the block will be evaluated only if the result is not truthy