The Story of Fifth Language
A tale of semantic ambition, late-night commits, and the emergence of human-AI pair programming
Prologue: The Vision
In September 2024, a single developer named Andrew Matthews committed the first lines of what would become Fifth—a programming language born from an audacious question: What if knowledge graphs were as natural to work with as integers and strings?
The vision was clear from the start: create a systems programming language where RDF triples, SPARQL queries, and graph operations are first-class citizens. A language where you could seamlessly move between imperative code and semantic web technologies without context-switching or awkward interop layers.
// The dream: knowledge graphs as naturally as arithmetic
g: graph = @< >;
g += <x:Alice, x:age, 42>;
myStore += g;
The Chronicles: A Year in Numbers
From the first commit on September 21, 2024 to today, the repository has accumulated 811 commits across 14 months of development.
The Great Acceleration
Activity tells a story of growing momentum:
| Month | Commits | Notable Events |
|---|---|---|
| Sep 2024 | 5 | 🌱 Project inception |
| Oct 2024 | 21 | Initial parser and AST work |
| Nov 2024 | 4 | — |
| Dec 2024 | 9 | Year-end foundation work |
| Jan 2025 | 3 | Quiet planning period |
| Mar 2025 | 9 | Guard clause completion |
| Aug 2025 | 99 | ⚡ The acceleration begins |
| Sep 2025 | 131 | KG types, TriG literals |
| Oct 2025 | 234 | Roslyn backend, SPARQL |
| Nov 2025 | 271 | 🚀 Peak activity: Generics, Constructors, Release pipeline |
The quiet first half of 2025 was followed by an extraordinary burst of productivity. From August onward, the commit rate increased 10x, transforming Fifth from a parser experiment into a functional compiler.
By the Numbers
- 756 commits in the past year
- 39 pull requests merged
- 28 feature specifications initiated
- 14 features completed and shipped
- 160 bug fixes (commits containing "fix" or "Fix")
- 323 implementation commits (containing "Implement", "Add", or "Phase")
Cast of Characters
Andrew Matthews — The Architect
411 commits (54%)
The creator and driving force behind Fifth. Andrew's commits reveal a pattern of someone who works in intense bursts, often on weekends and early mornings (Australian time). His work spans every layer—grammar design, AST architecture, transformation passes, and the intricate knowledge graph integration that makes Fifth unique.
Signature patterns: - Detailed specification authorship - Release engineering and CI/CD - Architecture decisions and refactoring - Documentation and roadmap updates - Often the one fixing tricky Windows-specific issues
copilot-swe-agent[bot] — The Implementer
327 commits (43%)
The AI coding agent that emerged as a major contributor starting in August 2025. Given detailed specifications, the agent implements features phase-by-phase with remarkable consistency. Its commits follow predictable patterns: "Initial plan", phased implementation ("Phase 1 complete", "Phase 2 complete"...), and code review fixes.
Signature patterns:
- Initial plan commits that kick off feature work
- Phase-numbered implementation commits
- [Code Review] Fix... commits responding to feedback
- High-volume, focused bursts on specific features
- Rarely touches release engineering or CI
Copilot — The Assistant
11 commits (1%)
Interactive Copilot suggestions—smaller touchups and completions during pairing sessions.
mattana — The Contributor
7 commits (1%)
A contributor with focused contributions, likely on specific features or fixes.
The Rhythm of Development
Weekend Warriors
Fifth is clearly a passion project. The commit distribution by day of week tells the story:
| Day | Commits | |
|---|---|---|
| Sunday | 218 | ████████████████████ |
| Saturday | 166 | ███████████████ |
| Wednesday | 99 | █████████ |
| Friday | 82 | ███████ |
| Thursday | 74 | ██████ |
| Monday | 66 | █████ |
| Tuesday | 51 | ████ |
Sunday alone accounts for nearly 30% of all commits. This is the unmistakable signature of a side project built with dedication and love.
The Morning Hours
Commit times (in local timezone) reveal early morning productivity spikes:
- 05:00-07:00: 124 commits — The pre-dawn coding sessions
- 08:00-10:00: 137 commits — Morning focus time
- 19:00-21:00: 111 commits — Evening wind-down coding
The pattern suggests a developer who rises early for quiet coding time before the day begins, with evening sessions for wrapping up work.
The Great Themes
Theme 1: The Knowledge Graph Dream
The heart of Fifth is its knowledge graph integration. The repository tells the story of progressive capability building:
- Graph Assertion Blocks (GAB) — The original syntax for declaring graph facts inline (later removed for cleaner design)
- System KG Types (spec 008) —
graph,triple,store,queryas runtime primitives - TriG Literal Expressions (spec 009) — Multi-line graph blocks with full TriG syntax
- SPARQL Literal Expressions (spec 010) — Embedded queries:
?<SELECT ?x WHERE {...}> - Query Application (spec 011) —
results = query <- storeoperator semantics
The most-changed files tell this story: KnowledgeGraphs.cs (15 changes), SparqlLiteralLoweringRewriter.cs, TriGLiteralLoweringRewriter.cs, QueryApplicationLoweringRewriter.cs—a constellation of transformations dedicated to making graphs feel native.
Theme 2: The Compiler Maturation
The transformation from parser experiment to real compiler follows the git history:
Early 2024-2025: Parser foundations - ANTLR grammar design - AST model creation - Basic visitor infrastructure
Mid 2025: The Roslyn Revolution (spec 006) - Complete backend rewrite from custom IL emitter to Roslyn - Commits like "Remove backend selection infrastructure and IL code generator" - A brave simplification that paid dividends
Late 2025: Language Features Pour In - Exception handling (try/catch/finally) - Full generics support - Constructor functions - Guard clauses and destructuring
Theme 3: The Human-AI Collaboration Experiment
Perhaps the most fascinating story is the emergence of human-AI pair programming at scale.
Starting around August 2025, a pattern emerges: 1. Andrew writes detailed specifications with clear contracts, tests, and phased implementation plans 2. copilot-swe-agent implements following those specifications methodically 3. Andrew reviews, fixes edge cases, and handles the tricky integration work 4. Repeat
The merge history shows this dance:
- #180: 001-constructor-functions — Copilot implements, Andrew merges
- #174: copilot/implement-speckit-features — AI-implemented feature branch
- #175: copilot/fix-runtime-issue-generics — AI fixing its own previous work
This isn't AI replacing the developer—it's AI as a highly capable junior engineer, executing well-specified tasks while the human maintains architectural vision.
Plot Twists and Turning Points
The GAB Removal (spec 007)
One of the most interesting commits is fade473: Remove GAB from grammar, AST model, and compiler. Graph Assertion Blocks were an early syntax for inline graph facts. The decision to remove them (documented in completed-007-gab-removal) shows mature language design: features that don't carry their weight get cut.
The Roslyn Pivot (spec 006)
The move from a custom IL emitter to Roslyn (5020e05: Merge pull request #149 from aabs/006-roslyn-backend) was a turning point. The commits tell a story of systematic removal:
- "Remove backend selection infrastructure and IL code generator"
- "Remove remaining legacy backend references"
This simplification unleashed a flood of feature development that followed.
The CI Battles
Throughout October-November 2025, a recurring subplot: CI/CD fixes.
- 3fc6281: Fix concurrency/file-lock race in Compiler.cs for Windows CI
- 37003e8: CI: split test step per-OS; use bash on Unix and pwsh on Windows
- 8bf2f87: CI: fix validate-examples failures by updating .5th samples
The unglamorous but essential work of keeping the build green.
The Release Pipeline Epic
November 2025 saw an extended saga of release engineering:
- 22 changes to .github/workflows/release.yml
- Commits like "Fix Windows zip packaging", "Fix PowerShell zip parameters"
- The long road from "code compiles" to "artifacts ship"
The commit messages trace the frustration: "Escape metadata JSON in workflow", "Fix Windows JSON escaping in build output", "Dedent metadata python script". Release engineering is where ambition meets reality.
The Current Chapter
As of December 2025, Fifth stands at a fascinating inflection point.
What's Working
- Full compilation pipeline: Source to .NET assembly via Roslyn
- Knowledge graph primitives: Graphs, triples, stores, queries as native types
- Rich type system: Generics, constructors, classes, methods
- Multi-platform releases: Linux, macOS, Windows packages with checksums
- 14 completed specifications: A disciplined feature delivery process
The Most Active Code
The most-changed files reveal where the action is:
| File | Changes | Area |
|---|---|---|
AstBuilderVisitor.cs |
76 | Parser → AST |
ParserManager.cs |
57 | Compilation orchestration |
LoweredAstToRoslynTranslator.cs |
46 | Code generation |
FifthParser.cs (generated) |
44 | Grammar changes |
AstMetamodel.cs |
34 | Language evolution |
FifthParser.g4 |
33 | Grammar design |
The compiler core is evolving rapidly, with grammar changes propagating through the entire pipeline.
What's Next
The roadmap commits and documentation point toward: - Language Server Protocol (LSP) for IDE integration - Parser error recovery for better developer experience - Incremental compilation for faster builds - NuGet SDK publishing for easier adoption
Epilogue: The Larger Story
Fifth is more than a compiler—it's an experiment in three simultaneous hypotheses:
- Language Design: Can knowledge graphs become as natural as loops and conditionals?
- Development Process: Can detailed specifications enable effective human-AI collaboration?
- Solo Development: Can one determined developer (plus AI assistance) build a real language?
The commit history suggests cautious optimism on all three fronts.
The weekend coding sessions, the methodical specification process, the AI implementation experiments, the stubborn CI battles—they add up to something real. A language that compiles, runs tests, ships binaries, and does something genuinely novel with knowledge graphs.
Whether Fifth becomes widely adopted is unknowable. But the story of its creation—told through 811 commits, 39 merged PRs, and countless early morning coding sessions—is a testament to what's possible when vision meets persistence meets modern tooling.
The chronicle continues. git log awaits the next chapter.
Generated December 5, 2025 from git history analysis