ryanzidago

ryanzidago

After writing about the importance of executable evidence and explaining how I’m using doctests to document known limitations and moduledoc to specify high level product processes, I’m now writing another article about documentation.

I often find myself asking LLMs to explain me a complex feature. As a result, they may return quite some verbose text which isn’t pleasant to read all day long and takes me time to parse. I find code easier to reason about than English in some cases anyway.

Sometimes, I even ask them to back their statements with evidence, such as tests, which helps them correct their false assumptions.

At some point, I realised that I was using docs and tests separately, i.e. as a weaker version of doctests!

I could actually just let the AI agent explain me the feature through a high level overview as a moduledoc that is roughly of the following shape:

## Section title
What (observable product behaviour)
Why (product behaviour rationale)
<concrete illustrative example with doctests>
...

The more I work with LLMs, the more I love doctests.
They make the specification much easier to verify.
You can reduce drift if you keep the doc part thin and focused on the why.

Such a powerful feature for both humans and agents alike!

Where Next? Top

Trending in Blog Posts Top

davejs
Hi everyone, I’ve been building BetterTyping (https://bettertyping.org) on and off since 2021. It’s a free typing game: practice alone, ...
New
funboy
Turns out a 1ms network hiccup is enough to silently lose broadcasts for a node and that node is just quietly wrong forever Wrote it up ...
New
AstonJ
If you’ve found an interesting or cool Elixir related blog post and think it’s worth sharing please add it to this thread :icon_biggrin: ...
New
videsnelson
The code in this post is Erlang, but it all applies to Elixir binaries just the same: how appends, match contexts and sub-binaries behave...
New
Semurg
Semurg is a database for AI agent memory (a knowledge graph plus vectors, used over MCP) that we build in Elixir. This post walks one per...
New
charlie.foret
eMudhra’s leaked CA keys reached my Phoenix app through 2 trust stores, and my first redeploy patched neither. How I fixed the OS bundle ...
New
T0ha666
I wrote up what it took to ship logs and metrics from two small Docker Swarm clusters into PostHog with the OpenTelemetry Collector: an a...
New

Other Trending Topics Top

dominicletz
Hey there, I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first. ...
New
raa-ziq
Hi everyone :waving_hand: I wanted to share something I’ve been building — NowBlind, a random chat app designed to help people discover ...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
OndrejValenta
(I just needed to vent somewhere and LinkedIn is full of hope, or hype, I’m not sure which exactly) AI dream has many faces, but general...
New
kip
Localize is the next generation localisation library for Elixir. Think of it as ex_cldr version 3.0. The first version will be released ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews