xeus-haskell: Jupyter Notebook for Haskell on the browser / webassembly

I built xeus-haskell: a lightweight Haskell kernel for Jupyter (and it runs on JupyterLite!)

I’ve been playing with MicroHs, a wonderfully minimal Haskell implementation, and it inspired me to build a new Jupyter kernel: xeus-haskell.

A few fun things about it:

  • It’s built on MicroHs, so it has almost zero dependencies.

  • Because of that minimalism, it compiles cleanly to WebAssembly.

  • Which means… you can run Haskell in the browser via JupyterLite.

  • No GHC, no giant toolchains, no environment wrangling. Just a browser.

The goal is to make Haskell more accessible in scientific/technical computing. Lazy evaluation can be surprisingly powerful for graph algorithms, recursive structures, and anything where “compute only what’s needed” brings real wins. Being able to demo that interactively in a notebook feels like the right direction.

If you want to check it out:

Repo: https://github.com/tani/xeus-haskell
Demo (JupyterLite): https://tani.github.io/xeus-haskell

Feedback, suggestions, and wild experiments welcome!

37 Likes

This is awesome! (OK, I’m a bit biased.)

20 Likes

This is awesome! (I am not even biased)

14 Likes

Xeus-Haskell is now a part of jupyter-xeus project!

repo: https://github.com/jupyter-xeus/xeus-haskell
demo: https://jupyter-xeus.github.io/xeus-haskell

14 Likes