TIL Tcl has a notion of 'safe interpreters', a mode where you can run untrusted code in a sandbox: https://www.tcl.tk/man/tcl8.4/TclCmd/safe.htm
Not many programming languages have this, but it's way safer to include in the implementation than try to build as a userland library.
miniblog.
Related Posts
Blogged: Devlog 2: The Importance of Sandboxing
Exploring PL opportunities when you have a first-class sandbox.
I Don't Like Notebooks: https://docs.google.com/presentation/d/1n2RlMdmv1p25Xy5thJUhkKGvjtV-dkAIsUXP-AL4ffI/preview?slide=id.g362da58057_0_1
A good discussion of the limitations of Jupyter. It's a challenging design space: you want a helpful code sandbox without reinventing the IDE.
I love the idea of mutation testing, but changing my code in arbitrary ways, then running it, is scary. Many PLs don't have a good sandbox available.