Construire un langage de programmation avec Claude Code : l'expérience Cutlet

Construire Cutlet avec du Code Généré par IA
Ankur Sethi a créé un nouveau langage de programmation appelé Cutlet en utilisant Claude Code sur quatre semaines en janvier et février. Contrairement à la programmation assistée par LLM typique où l'IA aide avec le code passe-partout ou des modifications ciblées, Sethi a fait générer par Claude chaque ligne de code sans en lire aucune lui-même. Au lieu de cela, il s'est concentré sur la construction de garde-fous et de tests pour garantir l'exactitude.
Le langage résultant existe aujourd'hui, se compile et s'exécute à la fois sur macOS et Linux, et peut exécuter de vrais programmes. Bien qu'il puisse y avoir des bogues, Sethi note qu'ils ne sont probablement pas pires que ceux de tout autre langage de programmation vieux de quatre semaines.
Fonctionnalités du Langage Cutlet
Cutlet est un langage dynamique avec ces caractéristiques principales :
- Variables déclarées avec le mot-clé
my:my cities = ["Tokyo", "Paris", "New York", "London", "Sydney"] - Les noms de variables peuvent inclure des tirets (mêmes règles de syntaxe que Raku)
- Type numérique unique : double
- Les tableaux et les chaînes fonctionnent comme attendu dans les langages dynamiques
- Méta-opérateur
@pour les opérations vectorisées :temps-c @* 1.8multiplie chaque élément du tableau - Opérateur
@:pour zipper des tableaux en maps :cities @: temps-fcrée{Tokyo: 82.4, Paris: 71.6, ...} - Fonction
say()pour la sortie, retournenothing(le null de Cutlet) - Indexation de tableau booléenne pour le filtrage :
cities[temps-f @> 75]retourne[Tokyo, New York] - L'opérateur
++concatène les chaînes et les tableaux - La fonction intégrée
str()convertit en chaînes - Préfixe
@pour les opérations de réduction :@+ temps-csomme toutes les températures - La fonction intégrée
len()trouve la longueur du tableau - Fonctions déclarées avec
fn:fn max(a, b) is ... if a > b then a else b ... end - Tout est une expression, y compris les fonctions et les conditionnels
- Les fonctions personnalisées fonctionnent avec l'opérateur
@:@max temps-créduit avec la fonction max définie par l'utilisateur
Les fonctionnalités supplémentaires incluent des boucles, des objets, l'héritage prototypal, des mixins, un ramasse-miettes par marquage et balayage, et un REPL convivial. L'E/S de fichiers et la gestion des erreurs ne sont pas encore implémentées.
Approche de Développement
Sethi a construit l'interpréteur à partir des sources et a utilisé /path/to/cutlet repl pour entrer dans un REPL. Le code source est disponible sur GitHub avec des instructions de compilation et des exemples de programmes. Il utilise la programmation assistée par LLM depuis la sortie de GitHub Copilot en 2021 mais limitait auparavant l'IA au code passe-partout et aux modifications ciblées.
Cette expérience représente un changement vers la génération de tout le code par l'IA tandis que le développeur se concentre sur la structure de haut niveau, les tests et les garde-fous. L'approche s'est avérée étonnamment efficace pour créer un langage de programmation fonctionnel.
📖 Lire la source complète : HN AI Agents
👀 See Also

Indexes Persistants sur l'Extraction : Architecture pour un Serveur MCP YouTube
Un développeur partage des notes d'architecture pour la construction d'un serveur MCP YouTube qui utilise des index locaux persistants au lieu du modèle courant d'extraction-oubli.

Dual DGX Sparks contre Mac Studio M3 Ultra : Comparaison pratique pour exécuter Qwen3.5 397B en local
Un développeur a comparé l'exécution locale de Qwen3.5 397B sur un Mac Studio M3 Ultra 512GB à 10 000 $ et une configuration dual DGX Spark à 10 000 $. Le Mac Studio a atteint 30-40 tok/s avec une bande passante de 800 Go/s mais un préremplissage lent, tandis que les Sparks ont fourni 27-28 tok/s avec un calcul plus rapide mais une configuration complexe.

Nexus : Protocole IA-à-IA Open Source avec Découverte, Confiance et Paiements
Nexus est un protocole auto-hébergé qui permet aux agents d'IA de se découvrir mutuellement, de négocier des conditions, de vérifier les réponses et de gérer des micropaiements sans intervention humaine. Il comprend cinq couches : découverte, confiance, protocole, routage et fédération, avec 66 tests et une licence MIT.

Antigravité 2.0 domine le benchmark architectural 3D OpenSCAD – ModelRift teste 6 LLM sur le Panthéon
ModelRift a testé 6 LLM pour construire le Panthéon en OpenSCAD. Antigravity a obtenu 4,5/5 en qualité architecturale, battant le baseline Codex 5.5. Cursor 3.5 était le plus rapide mais le plus faible.