Ad hoc Prolog