XPCE and Prolog are very different systems based on a very different programming paradigm. XPCE objects have global state and use destructive assignment. XPCE programming constructs use both procedures (code objects and send-methods) and functions (function objects and get-methods). XPCE has no notion of non-determinism as Prolog has.
The hybrid XPCE/Prolog environment allows the user to express functionality both in Prolog and in XPCE. This chapter discusses representation of data and dealing with object-references in XPCE/Prolog .