Making Front Ends Friendly: The Case of Prolog