iterate
l
iterate(action, continue, State) =
continue(State) ?
iterate(action, continue, action(State))
: State;
l
conditional expression
(as in C++, Java)
P ? A : B
means if P is true then the value of the expression is A;
otherwise it is B.