Looking at the repository and the conference papers on clingo, it's written in C++. Interfacing with C++ is more involved with than with C because C++ interoperability is still a moving, experimental feature of Swift that is rather incomplete. So, current practice seems to be to write a wrapper to your library that provides a compatible Swift interface (C, Objective-C) interface, and is able to call the C++ routines. Objective-C++ is probably the best option if you know the language since you write the interface section in Objective-C, and the implementations in Objective-C++. However, you can also build a wrapper from C if that is more suited to your knowledge base.