cd /news/artificial-intelligence/ann-siza-pair-with-a-local-llm-on-a-… · home topics artificial-intelligence article
[ARTICLE · art-74644] src=discourse.haskell.org ↗ pub= topic=artificial-intelligence verified=true sentiment=· neutral

[ANN] siza - pair with a local LLM on a Haskell notebook

A developer announced siza, a harness that pairs a local LLM with a Sabela notebook to improve Haskell code generation for data work, addressing issues like hallucinated modules and small context windows in models under 20 billion parameters. The tool uses type-directed searching and context management to enable small models to write Haskell more reliably, demonstrated by loading a wine dataset and showing summary statistics with minimal guidance.

read2 min views1 publishedJul 26, 2026

One of my biggest motivations for doing data work in Haskell has been the promise that types can enable better program verification and synthesis. In fact, it was one of my stretch goals for writing dataframe in the first place. Additionally, I had seen a video some years ago that notebooks are a good platform for program synthesis. My first swing at the problem was a SKILL.md that instructed an LLM on how to use Sabela notebooks. Large/frontier models didn’t struggle with writing Haskell but their contexts were typically more bloated by internet searches and churn from trying to fix simple compiler errors. Python was “in the weights” so was generated faster and with less tokens overall.

With small, local modes (<20b params) models the problem worsens. These models hallucinate Haskell modules, struggle with rule following, have smaller context windows. They typically fall back to writing Haskell from “the weights” and will steer clear of using dataframe or a newer library because a simple web search would bloat context.

The problem has two potential solutions:

In the spirit of synthesis I went with the second approach.

Siza, another Ndebele word, is a harness (and some associatd mcp tools) that drives a Sabela notebook. The goal of the harness is to address the problems above. I’ll follow up with a longer blog post on the sorts of interventions that made this possible but broadly speaking it’s a lot of type directed searching and a little bit of context management.

You can see a verbose transcript of how it performed with minimal to no guidance on an out of distribution task: Can you load the wine dataset into a dataframe and show some summary statistics about it?

Haskell is an amazing language for these sorts of tasks and the core of making it more useful is a pretty interesting engineering problem in my view. And small models, like testing anything in low resource environments, really teases those engineering problems out.

Again, will do a bigger blog post later.

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @siza 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/ann-siza-pair-with-a…] indexed:0 read:2min 2026-07-26 ·