Ada and Swi Prolog foreign language lib (C++)

I recently stared to wonder whether Ada (AdaCore) could be an useful language to use to implement foreign predicates – as an alternative to Rust.

I happen to program in Ada quite a few years ago and liked its strong typing - and more recently the Spark language allows even some formal proving to be done.

It seems that Ada supports seamless interoperability with C/C++ but C/C++ headers need to be rewritten into Ada syntax with some compiler directives indicating that its C/C++.

I am curious has anyone in the past experimented with this ?