Availability:built-in
 shift(+Ball)Abandon the execution of the current goal, returning control to just
after the matching reset/3 
call. This is similar to throw/1 
except that (1) nothing is `undone' and (2) the 3th argument of
reset/3 
is unified with the continuation, which allows the code calling reset/3 
to resume the current goal.
shift(+Ball)Abandon the execution of the current goal, returning control to just
after the matching reset/3 
call. This is similar to throw/1 
except that (1) nothing is `undone' and (2) the 3th argument of
reset/3 
is unified with the continuation, which allows the code calling reset/3 
to resume the current goal.