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

**URL:** <https://discourse.haskell.org/t/xeus-haskell-jupyter-notebook-for-haskell-on-the-browser-webassembly/13275>\
**Category:** Announcements\
**Created:** [November 16, 2025, 11:03am UTC](https://discourse.haskell.org/t/xeus-haskell-jupyter-notebook-for-haskell-on-the-browser-webassembly/13275 "2025-11-16T11:03:14Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![tani](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/tani/32/5373_2.png) [@tani](https://discourse.haskell.org/u/tani)\
**Post date:** [November 16, 2025, 11:03am UTC](https://discourse.haskell.org/t/xeus-haskell-jupyter-notebook-for-haskell-on-the-browser-webassembly/13275/1 "2025-11-16T11:03:14Z")

</div>

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

I’ve been playing with [MicroHs](https://github.com/augustss/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](https://github.com/tani/xeus-haskell)  
**Demo (JupyterLite):** [https://tani.github.io/xeus-haskell](https://tani.github.io/xeus-haskell)

Feedback, suggestions, and wild experiments welcome!

---

<div class="post-metadata">

**Author:** ![augustss](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/augustss/32/887_2.png) [@augustss](https://discourse.haskell.org/u/augustss)\
**Post date:** [November 16, 2025, 11:14am UTC](https://discourse.haskell.org/t/xeus-haskell-jupyter-notebook-for-haskell-on-the-browser-webassembly/13275/2 "2025-11-16T11:14:45Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![MangoIV](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/mangoiv/32/3519_2.png) [@MangoIV](https://discourse.haskell.org/u/MangoIV)\
**Post date:** [November 16, 2025, 11:20am UTC](https://discourse.haskell.org/t/xeus-haskell-jupyter-notebook-for-haskell-on-the-browser-webassembly/13275/3 "2025-11-16T11:20:39Z")

</div>

This is awesome! (I am not even biased)

---

<div class="post-metadata">

**Author:** ![tani](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/tani/32/5373_2.png) [@tani](https://discourse.haskell.org/u/tani)\
**Post date:** [November 18, 2025, 9:54am UTC](https://discourse.haskell.org/t/xeus-haskell-jupyter-notebook-for-haskell-on-the-browser-webassembly/13275/4 "2025-11-18T09:54:43Z")

</div>

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

repo: [https://github.com/jupyter-xeus/xeus-haskell](https://github.com/jupyter-xeus/xeus-haskell)  
demo: [https://jupyter-xeus.github.io/xeus-haskell](https://jupyter-xeus.github.io/xeus-haskell)

---

<div class="post-metadata">

**Author:** ![Ashiy\_Ishan](https://avatars.discourse-cdn.com/v4/letter/a/85e7bf/32.png) [@Ashiy\_Ishan](https://discourse.haskell.org/u/Ashiy_Ishan)\
**Post date:** [March 30, 2026, 3:15am UTC](https://discourse.haskell.org/t/xeus-haskell-jupyter-notebook-for-haskell-on-the-browser-webassembly/13275/5 "2026-03-30T03:15:53Z")

</div>

I tries several times but still i can’t create kernel locally. but it give this errors,  
404 GET /favicon.ico (127.0.0.1) 2.30ms  
404 GET /api/contents/share/microhs/all.json (127.0.0.1) 1.03ms  
404 GET /api/contents/usr/lib/haskell-packages/all.json (127.0.0.1) 1.29ms  
also Jupyter lite not work for me. it even download anything.
