PolyJuS: A Squeak/Smalltalk-based Polyglot Notebook System for the GraalVM

PolyJuS: A Squeak/Smalltalk-based Polyglot Notebook System for the GraalVM

Fabio Niephaus, Eva Krebs, Christian Flach, Jens Lincke, Robert Hirschfeld

01 April 2019

Jupyter notebooks are used by data scientists to publish their research in an executable format. These notebooks are usually limited to a single programming language. Current polyglot notebooks extend this concept by allowing multiple languages per notebook, but this comes at the cost of having to externalize and to import data across languages. Our approach for polyglot notebooks is able to provide a more direct programming experience by executing notebooks on top of a polyglot execution environment, allowing each code cell to directly access foreign data structures and to call foreign functions and methods. We implemented this approach using GraalSqueak, a Squeak/Smalltalk implementation for the GraalVM. To prototype the programming experience and experiment with further polyglot tool support, we build a Squeak/Smalltalk-based notebook UI that is compatible with the Jupyter notebook file format. We evaluate PolyJuS by demonstrating an example polyglot notebook and discuss advantages and limitations of our approach.


Venue : PX/19 Workshop

External Link: https://doi.org/10.1145/3328433.3328434