Juliacon 2024

🎈 Pluto.jl – Interactive package development and debugging
2024-07-12 –, If (1.1)

Interactive package development in Julia is possible thanks to Revise.jl, which is an amazing tool but still has a few drawback like the need to restart julia when modifying struct definitions. This talk will introduce a set of tools from the PlutoDevMacros.jl and PlutoVSCodeDebugger.jl packages which aim to improve the package development and debugging workflow using Interactive Pluto notebooks.


This talk will introduce and explain the use of the @frompackage macro from PlutoDevMacros which can be used to load a target local package under development inside a Pluto notebook. This macro also emulates a manual Revise-like workflow that reloads the latest package definitions within the notebook on demand. Thanks to Pluto reactivity and its capability of redefining structs, this workflow will automatically trigger re-execution of test code in the notebook when reloading a package code and will reduce the need of restarting the julia sessione when changing struct definition inside package code. A part of this talk will also be allocated to the introduction of the PlutoVSCodeDebugger.jl package which provides a streamlined way to attach a VSCode instance to a running Pluto notebook for debugging notebook code via the VSCode debugger GUI. The two packages can be used together to greatly streamlined package development and debugging inside Pluto

Alberto received his Ph.D. in satellite communications at the University of Luxembourg in 2018.
Since 2018 he joined the European Space Agency in the Netherlands as a Communication Systems and Technologies engineer, where he worked extensively on system level simulations regarding precoding/beamforming, 5G over satellite and digital payload optimization.

Alberto's current interests are in the fields of System Level Simulations, Active Antennas, digital signal processing and the Julia programming language.