Skip to main content

Easier API Interoperability: writing a bindings Generator to C/C++ with Coccinelle

UB5.132 | Day 2 | 14:20 - 14:30 | Speakers: Michele Martone, Ivan Pribec

Easier API Interoperability: writing a bindings Generator to C/C++ with Coccinelle
A picture of a devroom at FOSDEM 2024
Open in browser

Notes

Abstract

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.

Speakers

Michele Martone
Ivan Pribec

Notice: The placeholder video image is licensed under CC BY-SA 4.0. The original image can be found hereChanges made to the image are: Cropped the image to a new ratio, part of the image was cut off.