De rien d'installé à votre propre programme, en huit étapes. Chaque commande est écrite en entier, et chaque sortie est ce que la commande imprime réellement.
Keal est un seul binaire. Il porte le prélude et le runtime C en lui, il n'y a donc rien à installer à côté. Prenez l'archive de votre machine dans la dernière version publiée, décompressez-la, et placez le fichier keal quelque part dans votre PATH.
Linux demande la glibc 2.34 ou plus récente — Ubuntu 22.04, Debian 12, RHEL 9 et suivantes. Les téléchargements macOS ne sont pas signés : il faut retirer l'attribut de quarantaine une fois. Il n'existe pas d'archive pour Linux sur ARM ; sur cette machine, et sur toute plateforme absente de la liste, compilez depuis les sources — c'est l'étape ci-dessous et elle marche partout où Rust marche.
xattr -d com.apple.quarantine keal
git clone https://github.com/geneacta/keal.git cd keal cargo build --release cargo install --path .
Deux commandes, et elles répondent à des questions différentes. keal version dit que le binaire est dans votre PATH et qu'il s'exécute. keal doctor dit ce qu'il sait faire sur cette machine : un compilateur C débloque keal build, le reste sert à parler aux autres langages. Rien de tout cela n'est requis pour exécuter un programme — les quatre premières étapes n'en ont besoin d'aucun.
keal version
keal 1.3.0
keal doctor
keal doctor — the interop toolchains on this machine
cc cc (Ubuntu 15.2.0-16ubuntu1) 15.2.0
verified against: Apple clang 21.0.0
unlocks: keal build (required for native)
cargo cargo 1.98.0 (797e8a9bc 2026-08-05)
verified against: rustc 1.98.0
unlocks: building the toolchain (required)
go MISSING — Go interop (c-archive)Un fichier est un programme. Aucune classe à déclarer, aucun main à écrire, aucun projet à créer d'abord : les instructions de premier niveau s'exécutent dans l'ordre où elles sont écrites. Mettez ceci dans un fichier nommé hello.keal, où vous voulez.
println("hello, world")Voilà tout le cycle : écrire, exécuter. Pas d'étape de compilation, pas de fichier de configuration, pas d'arborescence imposée par l'outil.
keal hello.keal
hello, world
Tôt plutôt que tard, et c'est bien l'intention. Keal est typé statiquement : l'erreur ci-dessous est attrapée avant que quoi que ce soit ne s'exécute, et keal check demande cette vérification sans exécuter le programme du tout. L'erreur nomme le fichier, la ligne, la colonne, ce qu'elle a trouvé et ce qu'elle attendait.
val n: Int = "quarante-deux" println(n)
keal check oops.keal
error: initializer has type `String`, but `Int` was expected --> oops.keal:1:14 | 1 | val n: Int = "quarante-deux" | ^ 1 error found
Keal a trois moteurs, et les trois exécutent la source que vous venez d'écrire. keal seul utilise la machine virtuelle à bytecode — le défaut, et le moyen rapide d'exécuter quelque chose tout de suite. --ast utilise l'interprète à parcours d'arbre, qui est la spécification contre laquelle les deux autres sont vérifiés. keal build compile en passant par C vers un vrai exécutable qui n'a besoin d'aucun Keal installé pour tourner — celui-là, et lui seul, demande un compilateur C.
Les trois doivent imprimer les mêmes octets. Ce n'est pas un slogan : c'est ce que la suite de tests vérifie sur chaque programme qu'elle possède, et c'est ainsi que presque tous les défauts de ce compilateur ont été trouvés — un moteur en désaccord avec les deux autres.
keal hello.keal # the bytecode VM, the default keal --ast hello.keal # the tree-walking interpreter keal build hello.keal # a native executable, through C ./hello
hello, world hello, world hello hello, world
Un fichier Keal peut nommer son propre interprète sur la première ligne, ce qui en fait un exécutable ordinaire sur macOS et Linux. Rien d'autre ne change : c'est le même langage et le même fichier, et keal build en fera toujours un binaire le jour où vous en voudrez un.
#!/usr/bin/env keal
println("hello from a script")chmod +x script.keal ./script.keal
hello from a script
Le tour fait quinze chapitres et environ une demi-heure, chaque extrait étant un vrai programme avec sa vraie sortie. Les docs sont la référence quand vous voudrez les règles plutôt que le goût du langage. keal repl ouvre une invite pour essayer une ligne à la fois. Et si vous connaissez déjà un autre langage, les guides je viens de… partent de ce que vous savez déjà.
keal repl