When XSB is used to build real-world systems, a foreign-language interface may be necessary to:
XSB has both the high-level and the low-level interfaces to C. The low-level interface is much more flexible, but it requires greater attention to details of how the data is passed between XSB and C. To connect XSB to a C program using the high-level interface requires very little work, but the program must be used ``as is'' and it must take the input and produce the output supported by this high-level interface. We first describe the low-level interface.