Advanced Techniques in Turbo Prolog