Visualization can be a powerful aid for learning a programming language. It may be used to reinforce central language concepts. In the context of Prolog and CLP-languages, however, most approaches to visualization aim at procedural aspects. Instead of explaining what a relation describes, visualization is used to animate procedural machinery. In this paper we present approaches to visualizing aspects of Prolog programs that try to avoid unnecessary and irritating procedural details. Answer substitutions are visualized with the help of so called viewers. Some procedural aspects are explained with animations. The viewers have been integrated into a side-effect free programming environment and are used in introductory Prolog and CLP courses. The didactical impact of our approaches is discussed.