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.