In the past few days, we presented our work on persistent scripting at the 13TH Annual Non-Volatile Memories Workshop (NVMW). As the post-COVID return to in-person events is slow and gradual, this year’s NVMW took place in both physical and virtual formats.

Last week, our collaborator Terence Kelly presented in the in-person event that took place at the University of California, San-Diego campus, while yesterday, I presented in the virtual event. This arrangement worked out quite well as I could still attend the workshop without having to travel during the busy exams period.

Persistent scripting brings the benefits of persistent memory programming to high-level interpreted languages. More importantly, it brings the convenience and programmer productivity of scripting to persistent memory programming. We have integrated a novel generic persistent memory allocator into a popular scripting language interpreter, which now exposes a simple and intuitive persistence interface: A flag notifies the interpreter that a script’s variables reside in a persistent heap in a specified file. The interpreter begins script execution with all variables in the persistent heap ready for immediate use. New variables defined by the running script are allocated on the persistent heap and are thus available to subsequent executions. Scripts themselves are unmodified and persistent heaps may be shared freely between unrelated scripts.