Genèse du projet · Open source · Apache 2.0

Un langage et son compilateur,
construits avec l'IA.

Amalgame est un langage statiquement typé qui compile vers du C portable, puis vers un vrai binaire natif. Self-hosted, multi-plateforme — et oui, conçu main dans la main avec l'IA. On vous raconte comment.

01 — Le parti pris

Le meilleur de chaque langage, sans le compromis habituel.

Les langages modernes offrent du pattern matching, de la null-safety, des lambdas, des compréhensions de listes — mais souvent au prix d'une machine virtuelle, d'un runtime lourd ou d'une compilation lente.

Amalgame prend le chemin inverse : une ergonomie moderne, à la vitesse du C. Le code source se traduit proprement en C lisible, que gcc transforme en exécutable natif standard — déployable comme n'importe quel programme C, sans aucune installation d'Amalgame sur la machine cible.

02 — Le langage

Familier au premier coup d'œil.

namespace App
import Amalgame.IO

public enum Shape {
    Circle(int)
    Rect(int, int)
}

public class Program {
    public static void Main(string[] args) {
        // match comme expression, avec gardes et plages
        let n = 42
        let bucket = match n {
            0          => "zéro"
            x if x < 0 => "négatif"
            1..9        => "petit"
            _          => "grand"
        }

        // compréhension de liste
        let carrés = [i * i for i in 0..10 if i % 2 == 0]

        // accès membre null-safe
        let maybe: Greeter? = null
        let label = maybe?.Hello()
    }
}

Pattern matching · null-safety · lambdas · compréhensions · génériques · interpolation de chaînes

03 — Trois piliers

Ce qui rend Amalgame solide.

Self-hosted

Le compilateur amc est écrit en Amalgame et se reconstruit lui-même en cinq secondes, suite de tests comprise.

Compile vers C, puis binaire réel

amc émet du C lisible, gcc en fait un exécutable natif standard. Aucun runtime Amalgame requis chez l'utilisateur.

Multi-plateforme

Linux, macOS, Windows. Des binaires publiés à chaque tag de version, automatiquement via la CI.

04 — Genèse

L'IA n'est pas un secret. C'est une méthode.

Amalgame embarque l'IA directement dans le compilateur — amc generate, amc migrate, amc explain. Et l'IA a aussi servi à le construire. Plutôt que de le cacher, on l'assume : voici la part de la machine et la part humaine.

34jours de développement, du premier commit à aujourd'hui
5 spour que le compilateur se recompile
500+commits, 13 versions publiées
480tests qui passent
21langages migrables vers Amalgame

Ce que l'IA a accéléré

  • Le squelette du lexer, du parser et du générateur de C
  • Le boilerplate répétitif de l'AST et du runtime
  • Une grande partie des 480 tests, écrits en parallèle
  • L'exploration rapide de plusieurs designs de syntaxe

Ce qui est resté humain

  • Les décisions de design du langage — l'IA propose, je tranche
  • La relecture et la compréhension de chaque ligne livrée
  • Le bootstrap auto-hébergé et le débogage des cas tordus
  • La vision : à quoi sert Amalgame, et pour qui

La preuve que ça tient debout : Amalgame est self-hosted. Le compilateur se compile lui-même, et il faut qu'il soit correct pour y arriver. Un langage qui se reproduit, ce n'est pas du code « généré et abandonné » — c'est un système qui boucle sur sa propre rigueur.

« L'IA m'a fait gagner des semaines de plomberie. Mais Amalgame reste mon langage : je comprends chaque ligne qui le compose. » — Bastien Mouget, créateur d'Amalgame

05 — À vous de jouer

Essayez Amalgame en cinq minutes.

Que vous écriviez un compilateur ou votre premier script — l'IA derrière la création ne change rien à l'usage : c'est un vrai langage, à vous.

curl -sSL https://amalgame.me/install.sh | sh