Haskell-agent: An experimental agent harness in haskell

Hi all,

I’ve been building haskell-agent, a new agent harness written in haskell (naming things is still an unsolved problem :D).

A coding agent is in large part a concurrent streaming interpreter of a web socket DSL. With interactive UI, parallel subagents etc. there’s a lot of mutable concurrent state and IO. A problem space well suited for haskell.

key features:

  • works with multiple codex, claude, grok subscriptions (with account failover when your usage limit is reached)
  • experimental codemod via a persistent ghci or bun
  • postgres based memory for type safe state (e.g. if you ask the agent to e..g track your todos, it can create a todos table in the db)
  • subagents (coordinated via STM)
  • voice dictation

It’s already usable as a daily driver. For remote coding you can connect it to telegram with the builtin telegram nixos service (just ask the agent about it).

With nix you can try it out via this one liner:

nix run "github:digitallyinduced/haskell-agent"

The intersection of purely functional programming, type systems and LLMs seems to be an underexplored space, that might yield interesting solutions for reliable and secure agents.

8 Likes

Have a look at Grace. This area is actually not as underexplored as most would have you believe thanks to the brilliant work of @Gabriella439 GitHub - Gabriella439/grace: A prompt engineering functional programming language · GitHub

IMO, if someone can break Grace free from its current OpenAI-specific harness, it could be a VERY powerful system for building deterministic, reliable agentic workflows using the same guardrails and data compartmentalization we swear by in the purely functional world.

I think I might have passed this project over had I not seen this amazing @Zelenya interview where @Gabriella439 demos it:

@

1 Like

Nice. I’ll take a look at the repo. I’ve recently started working on making a small set of agent tools to interact with a notebook and using that to come up with some design ideas of how to do this at scale.

Just blogged about it here: Context complexity: what is the Big-O of an agent API? – Michael Chavinda – A collection of my thoughts on the various topics I find myself interested in.

1 Like