← Retour au blog
tech 12 août 2026

Jolt : Le compilateur Clojure implémenté avec Chez Scheme

Découvre Jolt, une implémentation de Clojure auto-hébergée qui tourne sur Scheme, offrant une portabilité et une efficacité inégalées sans nécessiter de JVM.

Article inspiré de la source originale
Jolt: Clojure compiler implemented with Chez Scheme ↗ jolt-lang.github.io

Introduction

Dans le monde dynamique des langages de programmation, Clojure a su se démarquer par sa simplicité et sa puissance. Cependant, une de ses limitations restait sa dépendance à la JVM. C'est ici qu'intervient Jolt, une implémentation de Clojure auto-hébergée qui fonctionne sur Scheme, plus précisément avec Chez et Gambit pour JavaScript. Cette innovation change la donne en éliminant la nécessité d'une JVM, tout en offrant une compatibilité complète avec Clojure et une efficacité accrue.

Pourquoi Jolt ?

Une architecture auto-hébergée

Jolt se distingue par son approche auto-hébergée. Le compilateur est écrit en Clojure et compile le code Clojure en un IR (Intermediate Representation) neutre, qui est ensuite émis en Scheme. Cette méthode permet à Jolt de s'exécuter nativement sur Chez Scheme ou d'être compilé en JavaScript via Gambit. L'absence de JVM ou de toute étape de construction intermédiaire rend Jolt extrêmement portable.

Binaire autonome

Une des grandes forces de Jolt est sa capacité à compiler un projet en un binaire autonome. Cela inclut le runtime, la bibliothèque standard, l'application et ses dépendances. Résultat : pas besoin de Chez Scheme, de JVM ou de code source pour exécuter l'application compilée. Cela facilite grandement le déploiement sur divers environnements.

Fonctionnalités clés

Concurrence réelle

Jolt offre une véritable concurrence en s'appuyant sur les threads du système d'exploitation, permettant aux futures, promesses, agents et pmap de s'exécuter efficacement. De plus, l'intégration de core.async permet l'utilisation de canaux et de blocs 'go', assurant une gestion fluide de la concurrence, similaire aux sémantiques de la JVM.

Compatibilité complète avec Clojure

Jolt supporte toutes les fonctionnalités essentielles de Clojure, y compris les séquences paresseuses, les transducteurs, les méthodes multiples, les protocoles et les enregistrements. Cela garantit que le code Clojure peut être exécuté avec peu ou pas de modifications.

Tour numérique complet

Avec Jolt, tu bénéficies d'un support complet pour les entiers exacts, les grands nombres, les ratios exacts et les doubles flottants. L'égalité de catégorie et de valeur est également gérée de manière efficace, renforçant la précision des calculs.

Démarrage rapide

Pour commencer avec Jolt, il te suffit d'installer le binaire autonome qui inclut tout ce dont tu as besoin : runtime, compilateur, et bibliothèque standard. Que ce soit via Homebrew ou un script d'installation pour Linux et macOS, l'installation est simple et directe.

```bash # Installation avec Homebrew brew install jolt-lang/jolt/jolt

# Installation via script curl -sL https://raw.githubusercontent.com/jolt-lang/jolt/main/install | bash

# Exécution d'une expression simple jolt -e '(+ 1 2)' # => 3 ```

Conclusion

Jolt se positionne comme une solution innovante pour les développeurs Clojure cherchant à s'affranchir des contraintes de la JVM. Avec sa capacité à compiler en binaires autonomes et sa compatibilité complète avec les fonctionnalités de Clojure, Jolt offre une flexibilité et une efficacité inégalées. Discutons de ton projet en 15 minutes.

Jolt Clojure Scheme Chez Scheme Gambit
Newsletter Deepthix · 100% IA · chaque lundi 8h

Un agent IA lit la tech à ta place.

Notre agent IA scanne ~200 sources par semaine et te livre les meilleurs articles le lundi 8h. Gratuit. 1 clic pour se désinscrire.

Voir la page newsletter →

Tu veux automatiser tes opérations ?

Discutons de ton projet en 15 minutes.

Réserver un call