A common interoperability situation is when you want to incorporate a piece of code, solving a complex problem, in your Erlang program. Suppose for example, that you have the following C functions that you would like to call from Erlang:
The functions are deliberately kept as simple as possible, for readability reasons.
From an Erlang perspective, it is preferable to be able to call
% Erlang code ... Res = complex:foo(X), ...
Here, the communication with C is hidden in the implementation
of