<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/haskell-for-all-a-sufficiently-detailed-spec-is-code-mrkpjtfow" -->

---
title: Haskell for all: A sufficiently detailed spec is code
description: A critical examination of the claim that agentic coding can reliably generate working software from specification documents. Using OpenAI's Symphony project as...
canonical: https://daily.dev/posts/haskell-for-all-a-sufficiently-detailed-spec-is-code-mrkpjtfow
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Haskell for all: A sufficiently detailed spec is code | daily.dev
og:description: A critical examination of the claim that agentic coding can reliably generate working software from specification documents. Using OpenAI's Symphony project as...
og:url: https://daily.dev/posts/haskell-for-all-a-sufficiently-detailed-spec-is-code-mrkpjtfow
og:image: https://api.daily.dev/og/posts/mrkPJtFOW.png
og:image:alt: Haskell for all: A sufficiently detailed spec is code
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Haskell for all: A sufficiently detailed spec is code

**[Planet Haskell](https://daily.dev/sources/phaskell)** · 11 min read · 0 upvotes · 0 comments

## Summary

A critical examination of the claim that agentic coding can reliably generate working software from specification documents. Using OpenAI's Symphony project as a concrete example, the author argues that two common misconceptions underpin agentic coding advocacy: that specs are simpler than code, and that spec work is inherently more thoughtful than coding. The Symphony SPEC.md is shown to contain pseudocode, database schemas, and literal code, demonstrating that sufficiently precise specs become code themselves. The author also tested Claude Code generating a Haskell implementation from the spec and found it produced buggy, non-functional results. Drawing on Dijkstra and Borges, the post concludes that 'garbage in, garbage out' applies — vague specs cannot be rescued by AI agents, and optimizing for delivery speed produces specification slop rather than genuine engineering clarity.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://haskellforall.com/2026/03/a-sufficiently-detailed-spec-is-code>

## Similar posts on daily.dev

- [Dispatches from O'Reilly: The right amount of spec for agentic development](https://daily.dev/posts/dispatches-from-o-reilly-the-right-amount-of-spec-for-agentic-development-jofa5viob) · Stack Overflow Blog · 0 upvotes · 0 comments
- [OpenAI Open-Sources Symphony, a SPEC.md for Autonomous Coding Agent Orchestration](https://daily.dev/posts/openai-open-sources-symphony-a-spec-md-for-autonomous-coding-agent-orchestration-nydofu97y) · InfoQ · 1 upvotes · 0 comments
- [The Spec Is the New Unit of Work: Spec-Driven Development for Teams Running AI Agents](https://daily.dev/posts/the-spec-is-the-new-unit-of-work-spec-driven-development-for-teams-running-ai-agents-thbd17u7t) · Medium · 0 upvotes · 0 comments
- [The spec is the new code, so brush up on your prose, says Kaseya CTO](https://daily.dev/posts/the-spec-is-the-new-code-so-brush-up-on-your-prose-says-kaseya-cto-9k6ffx87s) · The Register · 0 upvotes · 1 comments

---

Tags: [#openai](https://daily.dev/tags/openai), [#haskell](https://daily.dev/tags/haskell), [#ai-coding](https://daily.dev/tags/ai-coding)

[View this post on daily.dev](https://daily.dev/posts/haskell-for-all-a-sufficiently-detailed-spec-is-code-mrkpjtfow)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Haskell for all: A sufficiently detailed spec is code","url":"https://daily.dev/posts/haskell-for-all-a-sufficiently-detailed-spec-is-code-mrkpjtfow","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/haskell-for-all-a-sufficiently-detailed-spec-is-code-mrkpjtfow"},"datePublished":"2026-03-17T14:14:33.363Z","dateModified":"2026-03-17T14:14:59.441Z","description":"A critical examination of the claim that agentic coding can reliably generate working software from specification documents. Using OpenAI's Symphony project as...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0dcfda6100297cda7b994a8a7a2f9ba6?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0dcfda6100297cda7b994a8a7a2f9ba6?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Planet Haskell","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Planet Haskell","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cd3e48fb3b974d10993a5b5b8dcb8a08","url":"https://daily.dev/sources/phaskell"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/haskell-for-all-a-sufficiently-detailed-spec-is-code-mrkpjtfow","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"openai,haskell,ai-coding","timeRequired":"PT11M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Planet Haskell","item":"https://daily.dev/sources/phaskell"},{"@type":"ListItem","position":3,"name":"Haskell for all: A sufficiently detailed spec is code"}]}
```

