Vision globale du comité technique

Le Technical Leadership Committee (TLC) de la Haskell Foundation vient d’être créé et se veut le moteur d’une stratégie visant à rendre Haskell plus rapide, plus sûre et plus stable. Le comité invite entreprises, contractuels et bénévoles à proposer des initiatives, tout en assurant un processus de proposition ouvert où chaque soumission peut être commentée ou contrée par la communauté.

Amélioration de la productivité

Le principal frein identifié est le temps de compilation : le CI de GHC met actuellement six heures à tourner, alors que l’objectif du TLC est de le ramener à deux heures. Cette différence provient du modèle de compilation monolithique de GHC et du manque de mise en cache distribuée des dépendances. En introduisant un cache de dépendances à distance et en optimisant les pipelines CI, on peut réduire les I/O et paralléliser davantage les phases de type‑checking.

Par ailleurs, le manque d’outils de débogage déterministes oblige les développeurs à insérer des traces manuelles (Debug.Trace.trace) ou à analyser des dumps binaires, souvent via des LLM. Le TLC propose des outils de débogage pas à pas, des traces d’appels précises et des rapports de performance intégrés à l’IDE et accessibles via CLI. Ces fonctionnalités reposeraient sur l’instrumentation du runtime et la génération de métadonnées de pile, ce qui permettrait de conserver la pureté fonctionnelle tout en offrant une visibilité comparable à celle de C#.

L’onboarding est également ciblé : l’objectif est d’obtenir une installation « instantanée », une documentation exhaustive et des outils intuitifs. En appliquant les principes Unix (programmes à tâche unique, interopérabilité, extensibilité), le comité veut automatiser la configuration de l’environnement et fournir des tutoriels interactifs qui exposent les subtilités de la paresse et du système de modules de GHC.

Sécurité et stabilité de l’écosystème

Le TLC veut établir le temps de réponse aux incidents le plus rapide parmi les langages, en organisant des tests d’intrusion réguliers et en publiant des alertes de vulnérabilité. Le renforcement de la chaîne d’approvisionnement passe par la mise en place d’une pile cryptographique robuste et par la vérification des artefacts de compilation (signatures, reproducible builds).

Sur le plan de la stabilité, le comité ambitionne de compiler du code Haskell vieux de dix ans avec la dernière version de GHC sans modification source. Cela implique de stabiliser l’ABI, de prolonger les fenêtres de support des bibliothèques et d’améliorer l’expérience de mise à jour via Cabal, notamment en rendant les résolutions de dépendances plus ergonomiques et en proposant des ensembles de paquets stables.

Défis et perspectives

Les questions ouvertes portent sur la capacité des utilisateurs à refuser les changements incompatibles, la durée des fenêtres de support et la manière d’automatiser les migrations de versions. Le TLC devra investir dans le cœur de GHC, soutenir les mainteneurs de packages et collecter des métriques sur les sources de churn. En combinant ces actions, Haskell pourrait devenir le langage de choix non seulement pour les startups agiles mais aussi pour les grandes entreprises recherchant prévisibilité et sécurité.