Building a Programming Language with Claude Code: The Cutlet Experiment

Building Cutlet with AI-Generated Code
Ankur Sethi created a new programming language called Cutlet using Claude Code over four weeks in January and February. Unlike typical LLM-assisted programming where AI helps with boilerplate or targeted changes, Sethi had Claude generate every single line of code without reading any of it himself. Instead, he focused on building guardrails and testing to ensure correctness.
The resulting language exists today, builds and runs on both macOS and Linux, and can execute real programs. While there may be bugs, Sethi notes they're probably no worse than any other four-week-old programming language.
Cutlet Language Features
Cutlet is a dynamic language with these key features:
- Variables declared with
mykeyword:my cities = ["Tokyo", "Paris", "New York", "London", "Sydney"] - Variable names can include dashes (same syntax rules as Raku)
- Single numeric type: double
- Arrays and strings work as expected in dynamic languages
@meta-operator for vectorized operations:temps-c @* 1.8multiplies each array element@:operator for zipping arrays into maps:cities @: temps-fcreates{Tokyo: 82.4, Paris: 71.6, ...}say()function for output, returnsnothing(Cutlet's null)- Boolean array indexing for filtering:
cities[temps-f @> 75]returns[Tokyo, New York] ++operator concatenates strings and arraysstr()built-in converts to strings- Prefix
@for reduce operations:@+ temps-csums all temperatures len()built-in finds array length- Functions declared with
fn:fn max(a, b) is ... if a > b then a else b ... end - Everything is an expression, including functions and conditionals
- Custom functions work with
@operator:@max temps-creduces with user-defined max function
Additional features include loops, objects, prototypal inheritance, mixins, mark-and-sweep garbage collector, and a friendly REPL. File I/O and error handling are not yet implemented.
Development Approach
Sethi built the interpreter from source and used /path/to/cutlet repl to drop into a REPL. The source code is available on GitHub with build instructions and example programs. He's been using LLM-assisted programming since GitHub Copilot's 2021 release but previously limited AI to boilerplate and targeted changes.
This experiment represents a shift to having the AI generate all code while the developer focuses on higher-level structure, testing, and guardrails. The approach proved surprisingly effective for creating a functional programming language.
📖 Read the full source: HN AI Agents
👀 See Also

HolyCode: Docker Container for Persistent AI Coding Agent Environments
HolyCode is a Docker container that provides a persistent development environment for AI coding agents, keeping sessions, settings, and plugins across rebuilds. It includes preconfigured browser tooling for agent workflows and supports Claude, OpenAI, Gemini, and other providers through OpenCode.

AI Token Monitor: macOS Tool Tracks Local Claude Usage and Cost
A developer built AI Token Monitor, a macOS menu bar app that reads local Claude session files to track token usage, model distribution, and cost equivalents without API keys. The open-source tool revealed 6.5M tokens ($4,924 at API pricing) over 35 days in one user's case.

MOOSE-Star: A 7B Model and 108K-Paper Dataset for Scientific Hypothesis Discovery – ICML 2026
MiroMind releases MOOSE-Star on Hugging Face: a 7B model (DeepSeek-R1-Distill-Qwen-7B fine-tune) for scientific hypothesis discovery, alongside the 108K-paper TOMATO-Star dataset. Benchmark shows MS-7B achieves 54.34% inspiration retrieval accuracy, beating GPT-5.4 and approaching Gemini-3 Pro.

Jan Adds One-Click OpenClaw Installation with Jan-v3-Base Model Integration
Jan now supports one-click installation of OpenClaw with direct integration to the Jan-v3-base model, keeping all operations local and private on your computer.