Wasm support for use in JupyterLite
It would be nice to be able to run this in-browser for Jupyter lite.
AFAIK the only steps that need to be changed are here:
https://github.com/janpfeifer/gonb/blob/ec07209f333a5f432a3fda9dd71dc35b67c0d113/internal/goexec/goplsclient/exec.go#L52
https://github.com/janpfeifer/gonb/blob/ec07209f333a5f432a3fda9dd71dc35b67c0d113/internal/jpyexec/namedpipes.go#L101
I might implement this, just wanted to see if this was a thing that anyone else has thought about
hi @joshcarp, oh, that is so cool! Let me know if you need some help.
But having said that, there are few things to consider, and I'm not sure what is the "wasm virtual machine" available for Jupyter-Lite. From the top of my head, GoNB will try to execute: go get, go build, go fmt, gopls (the LSP/autocomplete), and the binary it just built.
The named pipes are used to establish an optional out-of-band communication with the kernel, to add support to the special interactions with the front-end (like widgets, or simply display HTML). But if it's not available in the Jupyter Lite environment, I'm sure we can find another way to communicate, and use the same trivial protocol there.
Let me know if you would like to do a VC call to discuss this in details. PRs would be most welcome as well.