A network-based SWI-Prolog <-> C++ interface