Generic Support for Prolog dialects