Abstract:Partial evaluation is an important program transformation method and compiling optimisation technique.Prolog programs are specially suited to be partially evaluated.At present,several principl models and special-purpose tools of the partial evaluation of Prolog programs have been developed in the world,but there are still following problkems in these works;(1)There us lack of systematic understanding for the basic principle and characteristics of the partial evaluation of Prolog programs;(2)Both methods which are used to detect loops in logic programs don't bring the termination prob;em in partial evaluation to a final solution;(3)The treatment of builtins in Prolog is imperfect and there are many implicit semantic errors in it;(4)The efficiency of some algorithms for partial evaluation is very low;(5)The partial eval uators now available are confined to their application fields,respoctively,and they are lack of generality.Based on our working practice in researching and developing a practical sourec-lecel partial evaluator in GKD-Prolog compiler[14],this paper discusses the partial evaluation of programs in pure Prolog,the detection of loops in logic programs and the treatment of builtins in full Prolog entirely and systematically.