All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

Comparing IHaskell and xeus-haskell: Two Approaches to Haskell in Jupyter Notebooks

By

mchav

6mo ago· 8 min readenInsight

Summary

This article compares two different approaches to running Haskell in Jupyter notebooks: IHaskell and xeus-haskell. It examines their architectural differences, focusing on how they implement the Jupyter kernel protocol, their engineering trade-offs, and their implications for developers using Haskell in data science workflows and interactive documentation. The analysis covers the Jupyter kernel architecture, how each implementation handles communication between frontend and backend, and the practical considerations for users choosing between these two solutions.

Key quotes

· 5 pulled
For developers integrating Haskell into data science workflows or interactive documentation, the Jupyter notebook is the standard interface.
Currently, there are two primary ways to run Haskell in Jupyter: IHaskell and xeus-haskell.
While both achieve the same end user experience (executing Haskell code in cells) their internal architectures represent fundamentally different engineering trade-offs.
This article explores those architectures side-by-side, with a focus on the Jupyter Kernel Architecture.
Jupyter is essentially a front-end that communicates with a computation server via a well-defined protocol.
Snippet from the RSS feed
For developers integrating Haskell into data science workflows or interactive documentation, the Jupyter notebook is the standard interface. Currently, there...

You might also wanna read