2.5 control

This exercise is optional. Refer to the exercise policy for details.
Write an implementation of logic programming (i.e. nondeterministic choice with backtracking) using either first-class continuations or double-barrelled continuation-passing style. (You should implement =succeed, =fail, =and2, and =or2 at a minimum.) Add logic variables and unification to have a full Prolog interpreter.