The Practice of Prolog - Sterling (IEEE, 2003)