The Craft of Prolog