"Easier API Interoperability: writing a bindings Generator to C/C++ with Coccinelle" ( 2025 )

Sunday at 14:20, 10 minutes, UB5.132, UB5.132, HPC, Big Data & Data Science Michele Martone Ivan Pribec , slides , video

Software developers using high-level programming languages often find they need to call procedures from specialized libraries only offering a C or C++ API. While most languages expose mechanisms for calling C functions, writing the bindings for potentially hundreds of procedures remains menial work: tedious and error-prone. Is there a better way? In this talk we take you on a journey of writing library bindings for BLIS, a large C library for linear algebra operations. Using Coccinelle, a powerful code matching and transformation system, we present how a handful of semantic patches (augmented by little Python scripts) can cover the full BLIS library making it available to modern Fortran.