
 (deflogfun break-up (y) (append ?a ?b y) (?a ?b)) (break-up '(foo bar baz))(NIL (FOO BAR BAZ))
T
 (break-up '(foo bar baz) :all :values)(NIL (FOO BAR BAZ))
((FOO) (BAR BAZ))
((FOO BAR) (BAZ))
((FOO BAR BAZ) NIL)
 (break-up '(foo bar baz) :all :list)((NIL (FOO BAR BAZ))
((FOO) (BAR BAZ))
((FOO BAR) (BAZ))
((FOO BAR BAZ) NIL))
T
 A final interface mechanism is  with-prolog. with-prolog  allows one to embed prolog into an arbitrary lisp function. Lisp variables are referenced in Prolog using " ?.<  name >  ".