This paper describes the basic ideas we followed in the development of PROSE, a Prolog programming support environment we are implementing at our Department. We claim that standard Prolog must be adequately enhanced to be well suited to support the construction of an efficient programming environment. For this purpose, some new facilities are supplied by our Prolog (called Env_Prolog) which are mainly intended to allow the language: -to handle programs as data and to partition the program database into disjoint sets of clauses; -to support "editing" of clauses in the program database and the controlled execution of Prolog programs. Env_Protog has been implemented by developing a new interpreter written in the C language. The paper will concentrate mainly on the interpreter and the support it offers to other tools of the environment.