On Wednesday, 25 May 2016 at 19:38:42 UTC, jmh530 wrote:
On Wednesday, 25 May 2016 at 00:55:52 UTC, Carl wrote:
It's worth noting that some of those Jupyter kernels are
pretty quirky/limited. For example in the C kernel, every cell
is an isolated program with a main function.
Which is not to say it wouldn't be great to have D
integration, just that it's trickier than it may seem at first
glance.
I haven't used the C one. It looks like it is based on GCC.
Cling is another one listed for C++. I haven't used Cling, but
the example looks like the information in one cell can be used
in later cells:
https://github.com/root-mirror/cling/blob/master/tools/Jupyter/kernel/cling.ipynb
There seems to be some decent documentation on creating kernels:
http://jupyter-client.readthedocs.io/en/latest/kernels.html
Yeah, I haven't tried the cling kernel yet, but it looks great.
That's backed by an actual repl though. So it seems like that's a
prerequisite for having a good Jupyter integration.
This is a nice intro to the Jupyter architecture from the person
who made the IHaskell kernel:
https://www.schoolofhaskell.com/school/to-infinity-and-beyond/older-but-still-interesting/ihaskell