git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Calcite example code


+1 for jupyter notebooks

@Julian:
I have not used Jupyter notebooks myself, but read about them a few months ago.

My understanding is that you can open the ipynb files using the opensource Jupyter web app and change the code interactively using code editors or widgets such as sliders etc. The changes would then be reflected back in the interface in real-time.

I suppose it would be similar to documented examples in Go: https://godoc.org/fmt#Stringer (click example to expand it, then click play to open the code in the playground), but with much more interactivity and a better user experience

On 20/12/2018 9:22 am, Julian Hyde wrote:
For old idiots like me, can you explain how the notebook works? The file you checked into GitHub, does it contain the input and output or just the input? Is there a way to edit or use the notebook interactively?

It certainly seems a better way to introduce people to examples than saying “go look at this test”.

I think quite a few of our tests could be converted into this format.

Julian


On Dec 19, 2018, at 10:52 AM, Michael Mior <mmior@xxxxxxxxxx> wrote:

After seeing so many people ask for example code to do certain basic things
in Calcite, I've been trying to find a good literate programming solution
for Java as I like this approach for demoing. I recently came across the
IJava (https://github.com/SpencerPark/IJava) kernel for Jupyter notebooks.

This is basically just a proof of concept at this point, but here's a
simple example

https://github.com/michaelmior/calcite-notebooks/blob/master/Query%20parsing.ipynb

I'm curious what others think of this approach. If others think it would be
useful, I'd be happy to take suggestions on what should be included.
Eventually, I'd like to get CI set up for this repository so I can re-run
the notebooks at will. I would then aim to check this on every release so
we can have a repository of code samples which we know run correctly.

--
Michael Mior
mmior@xxxxxxxxxx