Xeus-cling is a Jupyter Kernel for C/C++: https://github.com/jupyter-xeus/xeus-cling#a-c-notebook
With the xeus-cling Jupyter Kernel for C/C++, variable redefinitions in subsequent notebook input cells do not raise a compiler warning or error.
There's JsRoot, which may already work with JupyterLite in WASM in a browser tab?
There's a ROOT kernel for Jupyter, too: https://github.com/root-project/root/tree/master/bindings/ju...
Instead of the ROOT Jupyter Kernel, you can just call into ROOT from Python with PyRoot (from a notebook that specifies e.g. ipykernel, xeus-python, or pyodide Jupyter kernels).
"ROOT has its Jupyter Kernel!" (2015) https://root.cern/blog/root-has-its-jupyter-kernel/
IDK if there are Apache Arrow bindings for ROOT?; though there certainly are for C/C++, Python, and other languages
You must install jupyter_console to use Jupyter kernels from the CLI like IPython with ipykernel.
In addition to IPython/Jupyter notebook, jupyterlab, vscode, and vscode.dev+devpod;
awesome-cpp#debug: https://github.com/fffaraz/awesome-cpp#debug
"Debugging a Mixed Python and C Language Stack" (2023) https://news.ycombinator.com/item?id=35710350
ROOT: https://en.wikipedia.org/wiki/ROOT
"Root: CERN's scientific data analysis framework for C++" (2019) because if PyRoot to C++ https://news.ycombinator.com/item?id=20691614 :
`conda install -c conda-forge -y root jupyterlab jupyter_console xeus-cling jupyterlite`
SymPy's lambdify() doesn't support ROOT but does support many other ML and NN frameworks; From "Stem formulas" (2023) https://news.ycombinator.com/item?id=36839748 :
> sympy.utilities.lambdify.lambdify() https://github.com/sympy/sympy/blob/a76b02fcd3a8b7f79b3a88df... :
>> """Convert a SymPy expression into a function that allows for fast numeric evaluation [e.g. the CPython math module, mpmath, NumPy, SciPy, CuPy, JAX, TensorFlow, SymPy, numexpr,]
> JsRoot in JupyterLab
"jsroot and JupyterLab" https://github.com/root-project/jsroot/issues/166
JupyterLite docs > Create a custom kernel: https://jupyterlite.readthedocs.io/en/stable/howto/extension...
`jupyter lite` builds a set of packages into WASM WebAssembly with emscripten empack.
JupyterLite docs > Configuring the pyodide kernel > Adding wheels https://jupyterlite.readthedocs.io/en/stable/howto/index.htm...
Vscode.dev also supports the pyodide kernel.
Does `pip install root` work in JupyterLite (in the pyodide Python kernel)? Probably not because root is not a plain python package.
- [ ] Create emscripten-forge recipes for JsRoot and root, so that root is usable with the pyodide kernel supported by JupyterLite and pyodide
emscripten-forge recipes are compiled, packaged, and hosted.
emscripten-forge/recipes//recipes/recipes_emscripten/picomamba/recipe.yaml: https://github.com/emscripten-forge/recipes/blob/main/recipe...