The Emacs/Prolog interface is designed to enable you to create a Prolog program in a file outside the Prolog environment and then to move back and forth easily between that file and the Prolog environment. Both the Prolog program and your interaction with Prolog are preserved in edit buffers, which can easily be reviewed and modified. The Emacs process is primary, and Prolog runs as a buffer within it.

In the Prolog window, Prolog programs can be run, and Emacs commands can be used to edit and resubmit previously-entered Prolog commands. In a text window, single procedures, groups of procedures, and entire programs can be edited and quickly reloaded into Prolog without suspending the Prolog process. Additionally, any number of Prolog source files can be loaded into Prolog at once; then, if desired, Emacs can be used to locate a specific procedure in any one of those files. (For more information, see ema-ove-loc.)