The break function immediately terminates the currently iterating while loop, progn execution, or certain instance set query functions (doforinstance, doforallinstances and delayeddoforallinstances).
The break function can only be used within the actions of a while loop, progn execution, or the specified instance set queries previously listed. Other uses will have no effect. The break cannot be used within a progn unless it is valid for the outer scope of the progn. In addition, break should not be used as an argument to another function call.
Syntax
(break)
Example
CLIPS>
(deffunction iterate (?num)
(bind ?i 0)
(while TRUE do
(if (>= ?i ?num) then
(break))
(printout t ?i " ")
(bind ?i (+ ?i 1)))
(printout t crlf))
CLIPS> (iterate 1)
0
CLIPS> (iterate 10)
0 1 2 3 4 5 6 7 8 9
CLIPS>