The interface between XPCE and the application (host) language is very small. This feature makes it easy to connect XPCE to a new language. XPCE fits best with dynamically typed or strongly statically typed languages with type-conversion facilities that can be programmed. XPCE itself is dynamically typed. Cooperating with languages with the named properties avoid the need for explicitly programmed type-conversion. For a dynamically typed host-language such as Prolog or Lisp, the interface determines the type of the host-language construct passed and translates it into the corresponding XPCE object. For C++, the rules for translating C data structures to XPCE objects can be handled by the programmable type-casting mechanism of C++.