On the Implementation of GNU Prolog