Prolog alternatives