Jupyter notebook

I’m glad to announce that I put together a (really minimal) Crystal kernel for the Jupyter notebook!

The code is basically a port of the IRuby kernel, and the backend is currently based on icr, but that might change in the future.

For now, the name is “icrystal”, but if you have better suggestions, please comment. Go has one named “gophernotes” for example, and it sounds cool.

EDIT: added link to repository.

9 Likes

556herz if you want to go extra obscure. it is the (about) note where crystal glass shatters. (if you sing loud enough)

I have to have a look at Jupyter notebooks. seen it mentioned so often in the last months.
would you mind explaining a few words why you made this? and what makes it usefull? (beyond being crystal, which is cool)

1 Like

Notebooks are becoming increasingly popular in universities, it’s a nice way to structure thoughts since it’s basically a markdown document where you have snippets of code that you can execute and see the outputs.

You can use those as a support for teaching or doing science.

For teaching, you can give a notebook as a tutorial or to explain an assignment. For research, it can be used to disseminate your results associated with a paper (and make them easily reproducible). It can also be used for tutorials in conferences.

That’s my use case but it’s also really popular among data scientists.
Think of it as an alternative playground.

3 Likes

Yup. I use a lot Notebooks and Colab. It’s really nice to see Crystal there.

Cool! Link?

1 Like

Here’s a link to the repo.

Does jupyter not differentiate between a result and an output?

Does jupyter not differentiate between a result and an output?

@watzon yes, the output is sent on the wrong socket. Will fix this, thanks!

It would be interesting if Chrystal worked in Pluto.jl. That way Chrystal could be used for APIs networking and databases, while Julua was used for manipulating data.