Fun-Project: ARO - A Feature-Driven Programming Language Built with AI

TL;DR: I gave Claude AI access to my repository and described Feature-Driven Development. Claude built a complete programming language with interpreter and LLVM compiler. The result is ARO - a language where business features are the code.

The Origin Story
Back in 1997, Jeff De Luca and Peter Coad created Feature-Driven Development (FDD) while rescuing a banking project in Singapore. Their key insight was brilliant: express every feature as Action-Result-Object:

  • Calculate the total for the shopping cart
  • Validate the credentials for the user
  • Send the notification to the customer

This pattern let business stakeholders and developers speak the same language. But there was always a translation step - someone still had to convert those features into actual code.

What if features were code?
That's ARO. Here's a complete HTTP endpoint handler:

  (createUser: User API) {
      <Extract> the <data> from the <request: body>.
      <Validate> the <data> against <user-schema>.
      <Store> the <user> into the <database>.
      <Return> an <OK: status> with <user>.
  }

No translation gap. No ambiguity. The specification is the implementation.

Built with Swift
The entire toolchain is Swift 6.2:

  • Lexer & Parser - Recursive descent parser with full source location tracking
  • Semantic Analyzer - Symbol tables, data flow analysis, cross-feature-set dependencies
  • Interpreter Runtime - SwiftNIO HTTP server, async execution engine, event bus
  • LLVM Compiler - Generates LLVM IR, compiles to native binaries

Contract-First APIs
ARO uses OpenAPI contracts to define HTTP routes. Your openapi.yaml declares endpoints, and feature sets are named after operationId values:

paths:
/users:
post:
operationId: createUser # ← Feature set name

No routing code. No controller boilerplate. Define your contract, implement your features.

Try It
Website: ARO - The Language AI Was Waiting For
GitHub: GitHub - KrisSimon/aro: ARO is a declarative language for specifying business features in a human-readable format that can be compiled and executed. Features are expressed as Action-Result-Object statements.

The codebase includes 29 evolution proposals documenting every design decision, from the lexer grammar to the LLVM backend.

AI Pull Requests Welcome
Seriously. Point your AI assistant at the repo, give it a task, and submit the PR. The CLAUDE.md file contains everything an LLM needs to understand the architecture.

This is a joke project to evaluate whether an LLM can write a programming language. Don't take it too seriously. It is still under heavy development.


ARO: Where Project Managers and AI Finally Understand Each Other

4 Likes

I think I overdid it.
Website and features are constantly updated.

Oups,

Limit reached · resets 1pm (Europe/Berlin) · /upgrade to Max 20x or turn on /extra-usage

Never mind. Developing a programming language takes some time.
Linux, Mac and Windows binary build will follow later this week.

Please take a note: Github stars make my day more joyful :wink: