Is there a formal language-independent language for describing an API? I want to define a utility library to be used across a number of architectures and would like some way to programatically test that all API functions have been implemented and, ideally, run some unit tests of the functions across platforms.
For example, I’ll be wanting to write a .Net Assembly in C#, a Windows DLL in C++, a MacOS library in Objective-C, and a Linux shared library in C++.
Thrift: