arXiv · 2507.23205
Kernel-FFI: Transparent Foreign Function Interfaces for Interactive Notebooks
Abstract
Foreign Function Interfaces (FFIs) are essential for enabling interoperability between programming languages, yet existing FFI solutions are ill-suited for the dynamic, interactive workflows prevalent in modern notebook environments such as Jupyter. Current approaches require extensive manual configuration, introduce significant boilerplate, and often lack support for recursive calls and object-oriented programming (OOP) constructs-features critical for productive, multi-language development. We present Kernel-FFI, a transparent, language-agnostic framework that enables seamless cross-language function calls and object manipulation within interactive notebooks. Kernel-FFI employs source-level transformation to automatically rewrite cross-language invocations, eliminating the need for manual bindings or boilerplate. Kernel-FFI provides robust support for OOP by enabling foreign object referencing and automatic resource management across language boundaries. Furthermore, to address the blocking nature of Jupyter kernels and support recursive and asynchronous foreign calls, we introduce a novel side-channel communication mechanism. Our tool will be open-sourced and available at https://codepod.io/docs/kernel-ffi
Explore related subjects
Keep this discovery
Hebi Li, Forrest Sheng Bao, Qi Xiao, Jin Tian. 2025-07-31. Kernel-FFI: Transparent Foreign Function Interfaces for Interactive Notebooks. https://arxiv.org/abs/2507.23205
Cite the original work for its findings. Save a collection to share your selection of sources.