Condition system (a la Common Lisp) for Prolog