Vue lecture

Des nouvelles de Fortran n°7 - juillet 2025

Dans les actualités Fortran, on abordera en particulier la troisième édition de la conférence internationale Fortran, la sortie officielle du nouveau compilateur Flang dans LLVM et les actualités du gestionnaire de paquets fpm. Et comme c'est bientôt les vacances, on terminera par une section consacrée à Fortran dans la culture populaire, où l'on apprendra entre autres que le Nostromo avait un neuvième passager…

Sommaire

Appel à contributions pour FortranCon 2025

FortranCon 2025 est la troisième édition de la conférence internationale sur le développement et l'utilisation du langage de programmation Fortran, et aura lieu les 4 et 5 novembre 2025. Avec cette conférence, nous avons l'intention de rassembler les développeurs actifs du projet Fortran dans tous les domaines : les développeurs de bibliothèques et d'outils ainsi que les personnes utilisant Fortran pour développer des applications scientifiques, afin de partager leur expérience et d'échanger des idées. L'événement est organisé sur Zoom grâce aux contributions de la communauté pour la communauté.

Le discours d'ouverture sera prononcé par John Reid, membre actif du comité Fortran de l'ISO/IEC JTC1/SC22/WG5 (et animateur du comité de 1999 à 2017). C'est également l'un des auteurs du livre de référence Modern Fortran explained, dont la sixième édition (couverture orange) inclut Fortran 2023.

Les vidéos des présentations des éditions 2020 et 2021 sont toujours en ligne sur la chaîne YouTube FortranCon.

Dates limites

  • Inscription (gratuite) : 15 octobre 2025.
  • Premier appel à résumés : 1er août 2025 (décisions envoyées avant le 30 août 2025).
  • Deuxième appel à résumés : 1er septembre 2025 (décisions envoyées avant le 30 septembre 2025).

Sur le front des compilateurs

Compilateurs opérationnels

Flang (LLVM)

Dans LLVM 20.1, sorti en mars 2025, flang-new a été rebaptisé flang et remplace son prédécesseur du même nom. Il s'agit donc du lancement officiel de ce nouveau compilateur soutenu par NVIDIA et le Département de l’Énergie américain, après sept ans de développement. Un article très complet du blog LLVM relate cette longue aventure :

La doc de Flang présente même une pierre de Rosette pour les gens connaissant le C ou le C++ et souhaitant débuter en Fortran.

Intel ifx

Intel ifx (basé sur LLVM) est actuellement en version 2025.2.0, avec en particulier quelques améliorations du côté Fortran 2023 et OpenMP 6.0, par rapport à la 2025.1.0 qui améliorait également ces deux points.

GFortran (GCC)

GFortran est en version 15.1. Attention, les fichiers .mod générés par GFortran 15 ne sont pas compatibles avec les versions antérieures. Si vous ne savez pas de quoi je parle, les .mod c'est un peu l'équivalent des fichiers headers .h en C, mais en pire puisque ce sont des fichiers binaires pas normalisés, donc pas interopérables entre les différents compilateurs Fortran, voire comme ici entre différentes versions. Bref, pas glop !

Parmi les six projets GCC du GSoC 2025, on en trouve un pour améliorer la prise en charge par GFortran de certaines fonctionnalités des normes Fortran 2018 et 2023. Le compilateur libre a également reçu 360 k€ de la Sovereign Tech Agency allemande, en particulier pour offrir un support direct des coarrays (co-tableaux) pour le calcul parallèle sur systèmes à mémoire partagée (pour l'instant il est nécessaire d'installer la bibliothèque OpenCoarrays pour les utiliser avec GFortran).

En gestation

Le développement du compilateur LFortran continue. Il s'approche tranquillement de la version beta, compilant déjà huit bibliothèques Fortran matures sur les dix définies pour ce jalon. On notera d'ailleurs que parmi les cinq projets de la communauté Fortran-lang du GSoC 2025, un projet a pour objectif de réussir à compiler le gestionnaire de paquets fpm avec LFortran. Une bonne façon de faire progresser le compilateur !

Fedora ou F comme Fortran ?

Une des meilleures distributions Linux pour faire du Fortran est peut-être Fedora. On trouve en effet directement dans ses dépôts pas moins de trois compilateurs Fortran libres en versions récentes : GFortran (GPL), Flang (licence Apache) et LFortran (licence BSD). Quand à Intel ifx, on pourra facilement l'installer par exemple dans un environnement Conda (paquet ifx_linux-64). Et avec la Fedora Rawhide, c'est bien sûr encore plus saignant (bleeding edge) au niveau des versions !

Communauté Fortran-lang

Projets Fortran-lang

fpm

Le gestionnaire de paquets Fortran fpm est disponible en version 0.12 depuis le 18 mai 2025. Parmi les nouveautés, on notera :

  • un fichier compile_commands.json exporté par défaut à chaque fois que l'on construit un projet avec fpm, ce qui facilitera son intégration avec d'autres outils, en particulier les IDE.
  • Deux nouveaux métapackages disponibles : BLAS/LAPACK et NetCDF.
  • La possibilité de générer des bibliothèques partagées, et non plus uniquement statiques.

Du côté des greffons, on citera fpm-modules et fpm-deps qui permettent de visualiser les dépendances d'un projet fpm à l'aide d'outils tels que Mermaid ou Graphviz.

Quelques projets divers

  • Fortitude 0.7.3 : un linter Fortran sous licence MIT, écrit en Rust et installable via Python.

  • Seer : une interface graphique pour gdb pour Linux, qui prend en charge de nombreux langages, dont Fortran. Licence GPL 3.0.

  • Codee commercialise un analyseur de code Fortran / C / C++ et un formateur de code Fortran. Ce dernier peut néanmoins être utilisé gratuitement pour un usage personnel. « Codee se distingue en tant que plateforme de développement Fortran, C et C++, en favorisant la correction du code, la modernisation, la sécurité, la portabilité et l'optimisation afin d'aider les développeurs à fournir des logiciels rapides, faciles à maintenir et fiables, conformes aux normes de l'industrie. » Codee vient de sortir en version 2025.3.

Fortran et culture populaire

Alien

Comme vous le savez peut-être, le Nostromo est le vaisseau spatial du film Alien (1979). Lors de l'atterrissage sur la lune Acheron LV-426, l'ordinateur de bord affiche un modèle 3D de son relief. Sur cet extrait sur YouTube, vous pouvez le voir plusieurs fois à partir de l'instant 2:28. Ce modèle est présenté par son auteur dans l'article suivant :

Le code ne faisait que 14 pages de code FORTRAN et son auteur explique :

Le matériel utilisé était un Prime 300 connecté à un FR 80 de III (Information International, Inc.) qui peut tracer directement sur pellicule. Le logiciel d'animation Frolic, développé par C. Emmett, tournait sur ce système dans les laboratoires du SRC à Oxfordshire.

Mon programme était écrit en FORTRAN avec des appels aux sous-routines Frolic.

Années 70 obligent, le graphisme n'est pas sans rappeler le signal du pulsar CP1919 tracé informatiquement par Harold D. Craft Jr dans sa thèse soutenue en 1970 et popularisé par Peter Saville sur la pochette de l'album Unknown Pleasures, dont je vous avais déjà parlé. Quarante-six ans après la sortie du film Alien, on pourra s'amuser de constater que n'importe quelle voiture actuelle a un écran couleur bien plus high-tech que celui du Nostromo ! Mais dix ans avant, le premier alunissage avait eu lieu avec une informatique et une électronique qui semblent aujourd'hui rudimentaires. C'est que se déplacer est avant tout un problème de mécanique (éventuellement céleste). Côté déplacement, le Nostromo reste quand même très largement en avance sur les starships actuels.

Fortran dans les dessins animés américains

Le langage semble avoir laissé des traces, plutôt bienveillantes, chez les (vieux) étudiants américains :

  • Dans la série d'animation Futurama, Olde Fortran est une marque de liqueur de malt (bière forte) consommée par le robot Bender, une sorte de boisson énergisante pour lui. On y voit aussi des jackpots Wheel of Fortran (roue de la fortune… Algorithme Monte Carlo ?).
  • Dans Les Simpson, épisode « L'homme qui vint pour être le dîner » (2015), un extraterrestre dit à 1:23 :

« En tant que jeunes choses insignifiantes, nous sommes éduqués dans la sagesse de l'univers. Physique, mathématiques, FORTRAN - le plus grand des langages de programmation ! »
(“As young thinglings, we are schooled in the wisdom of the universe. Physics, mathematics, FORTRAN - the greatest of the programming languages!”)

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Common Lisp ces deux dernières années: un monstre de l'évolution parmi nous

Le langage Common Lisp n’est pas un dinosaure éteint. À l’instar de certains requins, c’est une bestiole qui n’a cessé d’évoluer pour devenir un prédateur redoutable aujourd’hui. C’est un langage qui éclate l’auteur du journal à l’origine de cette dépêche, dzecniv, au quotidien depuis des années, avec lequel il déploie certains services facilement (venant de Python, il apprécie le déploiement), alors il a de nouveau rédigé un petit récapitulatif de ce qui s’est passé dans cet écosystème ces deux dernières années.

Vous prendrez garde à ne pas conclure que les bibliothèques et projets qui sont présentés ici sont les seuls de leur domaine, ni que tous les nouveaux projets sont listés, ni qu’il s’agit d’un aperçu complet de l’écosystème.

Sommaire

(NdM: dans la suite, l'auteur du journal à l’origine de la dépêche s'exprime à la première personne)

Pour avoir un aperçu plus global de l'écosystème, veuillez faire une petite recherche sur GitHub, surveillez reddit/r/lisp et reddit/r/common_lisp, utilisez un moteur de recherche, ou commencez par jeter un coup d’œil sur la liste awesome-cl.

Il me tient à cœur de faire cette liste, car de l’extérieur on ne se rend pas forcément compte à quel point, certes, le langage et l’écosystème sont stables, mais qu’ils évoluent également.

S’il fallait en choisir trois, je mettrais ces travaux en avant :

  1. je suis impressionné par tout ce qui se passe autour de l’implémentation SBCL (et des travaux en cours sur ECL et ClozureCL)
  2. j’adore l’éditeur Lem, et suis également impressionné par tous les modules qu’il comporte déjà, par la qualité de sa base de code et par la facilité avec laquelle on peut l’explorer, ce qui est aussi rendu facile par l’interactivité du langage
  3. plusieurs outils pour écrire et exécuter des scripts plus rapidement que d’habitude émergent, et sont nécessaires à mon avis.

Bonne découverte.

Opus Modus v3

Hacker News est passé de Racket à Common Lisp (SBCL)

C’est une nouvelle plutôt cool pour nous les publicitaires pro du langage. HN a été développé avec le dialecte de Lisp Arc, initialement implémenté avec Racket, et pour des questions de performance ils l’ont ré-implémenté en Common Lisp, avec SBCL.

Pour plus de contexte : Paul Graham (avec Robert Morris) crée Viaweb en 1995, le premier fournisseur d’applications en ligne (pour garder la terminologie de Wikipédia, page Paul Graham), développé en Common Lisp, avec l’implémentation CLisp. Cette implémentation existe toujours et est légèrement développée, mais il est généralement conseillé d’utiliser SBCL (qui colle mieux au standard, qui est plus performante, qui donne plus d’indications de typage pendant le développement, etc.). “PG” vend Viaweb à Yahoo en 1998 (pour ce qui devient Yahoo! Store), et fonde l’incubateur de start-ups YCombinator. PG n’était pas satisfait par Common Lisp, au tout au moins (là, je n’ai pas les sources) voulait un dialecte plus succinct, qui permette d’écrire des applications web de manière plus compacte. Il ébauche un dialecte de Lisp, appelé Arc, et l’implémente avec Racket (MzScheme à l’époque). Le site de Hacker News (géré par YCombinator) fut donc écrit en Arc avec cette première implémentation.

Le responsable (ou un des responsables) du portage vers SBCL et modérateur d’Hacker News, dang, explique :

[Clarc, l’implémentation en Common Lisp] est beaucoup plus rapide et permet de faire tourner HN sur plusieurs cœurs. Ça a été un travail de fond de quelques années, principalement parce que je ne trouve pas le temps pour travailler dessus.

Les sources du site d’HN ne seront pas publiées pour ne pas dévoiler de multiples mécanismes anti-spam et anti-abus (les séparer du code source serait « beaucoup de travail »), mais les sources de Clarc pourraient l’être, avec un peu plus d’efforts pour les séparer du code d’HN.

https://lisp-journey.gitlab.io/blog/hacker-news-now-runs-on-top-of-common-lisp/

C’est quoi Common Lisp ?

C’est un langage multi-paradigmes, et selon les implémentations, comme avec SBCL : compilation en code machine très performant, typage graduel, très interactif :

  • débogueur interactif, permet de corriger une fonction, de la re-compiler et de reprendre l’exécution depuis la fonction boguée, sans devoir tout relancer de zéro (démo youtube)
  • ne perd pas l’état du programme en cours quand on travaille avec un bon éditeur
  • permet même de contrôler comment des instances sont mises à jour lorsque la définition d’une classe change (pas forcément utile pour le quotidien on est d’accord, encore que, quand on sait le faire on en tire parti, mais c’est pensé pour les systèmes à longue durée de vie, qu’on peut patcher pendant qu’ils tournent),
  • un REPL avec beaucoup de fonctionnalités (ne redémarre jamais, on peut installer des bibliothèques depuis le REPL), extrêmement utile et satisfaisant en tant que développeur (j’en ai toujours un d’ouvert),
  • on compile fonction par fonction avec un raccourci clavier, SBCL nous donne beaucoup de warnings et d’erreurs de typage instantanément (et pour du Haskell intégré dans Common Lisp, cf. Coalton ci-dessous).

Définir une fonction :

(defun hello ()
  (print "hello!"))

;; Appeler la fonction:
(hello)

Compiler la fonction :

  • soit C-c C-c depuis tout bon éditeur, sans quitter le programme, sans redémarrer quoi que ce soit,
  • soit C-c C-k depuis l’éditeur, pour re-compiler le fichier,
  • soit sbcl --load hello.lisp depuis la ligne de commande (ce qu’on va donc faire rarement, seulement de temps en temps pour vérifier que ça passe, pour construire un binaire, pour déployer depuis les sources…)

Liens :

La communauté

Elle est active, il y a des évènements IRL réguliers dans quelques villes, l’European Lisp Symposium chaque année…

On peut voir les chiffres de la communauté reddit/r/common_lisp (plus petite que le plus général “lisp”),

La communauté est présente sur reddit, Discord (lien: https://discord.gg/hhk46CE), IRC, Mastodon, LinkedIn…

Documentation

On a la chance d’avoir de très bons livres sur CL, mais historiquement peu de doc en ligne. Ça évolue.

Les spécifications du langage ont été portées vers des sites beaucoup plus sympas à l’utilisation que le site de référence, comme le Common Lisp Community Spec, site également publié sous licence libre,

Le Common Lisp Cookbook reçoit un bon nombre de contributions. On peut le trouver en EPUB : https://github.com/LispCookbook/cl-cookbook/releases/tag/2025-01-09

Le livre PAIP est maintenant disponible en ligne : https://norvig.github.io/paip-lisp/#/

J’ai sorti un nouveau site sur le développement web en Common Lisp : https://web-apps-in-lisp.github.io/index.html

FreeCodeCamp a publié un cours “complet” sur Youtube : https://www.reddit.com/r/Common_Lisp/comments/1i1e766/lisp_programming_language_full_course_for/

cf. d’autres vidéos sympas ici : https://www.cliki.net/Lisp%20Videos

J’ai sorti neuf vidéos (1h22) pour expliquer CLOS, le système objet : https://lisp-journey.gitlab.io/blog/clos-tutorial-in-9-videos-1h22min--read-the-sources-of-hunchentoot-and-kandria/

Les implémentations

Il s’en passe des choses.

SBCL

SBCL a toujours des sorties mensuelles : https://www.sbcl.org/news.html

SBCL s’est vue dotée d’un nouveau GC.

Entre autres choses, rapidement :

  • appeler SBCL comme une bibliothèque partagée depuis C ou Python, avec sbcl-librarian (par les mêmes personnes derrière Coalton) (recette sur le Cookbook),
  • compilation croisée pour Android
  • support pour Haiku
  • « memory allocation arenas » pour arm64
  • améliorations du module sb-simd
  • SBCL est porté pour la Nintendo Switch, pour les besoins du jeu Kandria (cf plus bas)
  • installation facile sur Windows avec Chocolatey (non officiel)
  • ou des builds quotidiens pour MSYS2

ABCL - CL pour Java

ABCL a sorti des nouvelles versions :

Et Clojure ? Je ne connais qu’à peine (ça reste du Java, ça reste gourmand en ressources, le REPL est moins riche en fonctionnalités, le langage ne donne pas d’erreurs de type à la compilation avec un C-c C-c), donc je peux juste citer d’autres lispers. cf. :

CCL, LispWorks, Allegro, ECL, CLASP, SICL, LCL, Alisp, Medley

Ces implémentations sont actives.

ECL a un module pour WASM, en cours de développement mais qui permet déjà de lancer Maxima, un logiciel de calcul formel, dans un navigateur.

Breaking news: ECL vient d'être accepté par NLNet pour justement travailler sur ce module.

Pour info, on peut également utiliser Maxima via SageMath, avec KDE Cantor, avec l'interface graphique wxMaxima, sur Android, dans un "notebook" Jupyter, via Emacs avec le paquet "maxima-mode", et on peut faciliter son utilisation depuis un REPL Common Lisp et avec maxima-interface.

CLASP, pour interfacer CL et C++ nativement, est toujours développé par une start-up en bio technologies :

SICL est peut-être le futur de Common Lisp. C’est une nouvelle implémentation, modulaire. Des bouts sont déjà utilisés dans d’autres implémentations.

Medley est la ré-incarnation de la Medley Interlisp Lisp Machine. Je ne l’ai pas connue, trop jeune. On peut la tester via un navigateur.

LCL pour Lua Common Lisp est une nouvelle implémentation, Alisp est une nouvelle implémentation en cours de développement (en C).

Industrie, offres d’emplois

Il y a peu d’offres, publiques en tout cas, on voit des opportunités passer de manière moins formelle sur les réseaux. Mais il y en a (cf. le lien original, par ex. une offre pour 3E à Bruxelles).

Et oui, certaines entreprises utilisent toujours Common Lisp, et certaines entreprises choisissent de leur plein gré ce langage comme base de leurs nouveaux produits. On le voit surtout dans le domaine de l’informatique quantique, et toujours pour une certaine forme d’IA. Mais des boîtes plus classiques peuvent en tirer parti. On voit des logiciels de management de projet (Planisware, cocorico c’est une boîte française, développé avec l’implémentation Allegro), du développement web, des bots internet…

Quelques exemples :

et des usages, moins dans l’actualité :

Projets cools

Éditeurs

Éditeurs pour Lisp : https://lispcookbook.github.io/cl-cookbook/editor-support.html (il y en a d’autres qu’Emacs, mais essayez donc !)

Lem : https://lem-project.github.io/

Construit en CL, il est donc extensible à la volée en Lisp, comme Emacs. Contient un client LSP qui fonctionne pour de nombreux autres langages, et des modes syntaxiques plus classiques pour nombre d’autres.

Quelques fonctionnalités de Lem :

  • mode vim et Emacs
  • interface Git interactive (opérations classiques, rebase interactive (sans les actions “edit” ou “reword”))
  • navigateur de fichiers
  • panneau de navigation
  • terminal via libvterm
  • curseurs multiples
  • pour le terminal (ncurses) et le bureau (SDL2), et une version “cloud” pour édition collaborative en chantier.
  • Tetris (en mode graphique)

Lem filer

Nouveau projet : Neomacs https://github.com/neomacs-project/neomacs basé sur Electron

Coalton : comme Haskell, pour Common Lisp

En les citant, Coalton c’est :

the implementation of a static type system beyond Haskell 95. Full multiparameter type classes, functional dependencies, some persistent data structures, type-oriented optimization (including specialization and monomorphization). All integrated and native to CL without external tools.

C’est une bibliothèque logicielle qu’on installe comme n’importe quelle autre, mais qui fournit un autre langage pour écrire des programmes typés statiquement, tout en s’interfaçant de manière native avec son langage hôte.

Coalton est développé à l’origine pour des boîtes dans l’informatique quantique. Cf le compilateur quilc.

Ce n’est donc pas un jouet. Et si les développeurs ne font pas un tonnerre de tous les diables pour montrer leur travail incroyable, c’est qu’ils bossent ;) (mais ils répondront au FUD sur HN).

Les gestionnaires de bibliothèques

Depuis au moins 10 ans, le « package manager » qui rend de fidèles services est Quicklisp. Il sort des distributions de bibliothèques, qui ont été vérifiées pour charger correctement. La dernière en date était en octobre :

Et oui, elle date un peu. Plusieurs explications à cela, à lire et discuter par ailleurs.

Aujourd’hui, de nouveaux outils émergent:

Développement de jeux

Le meilleur exemple dans ce domaine est Kandria, qui est sorti sur Steam :

  • https://kandria.com/
  • retours d’expérience (anglais): où oui, Common Lisp (ici SBCL) est assez performant pour faire tourner un jeu, y compris sur la Nintendo Switch, à condition de surveiller la création d'objets en mémoire.

Son auteur augmente maintenant son moteur de jeu pour la 3D. On peut le suivre et voir une démo sur Mastodon.

On trouvera d’autres ressources, par exemple :

Une fonctionnalité incroyablement utile pour les développeurs, est qu’on peut développer son jeu pendant qu’il tourne. Compiler une fonction avec C-c C-c, et voir le jeu changer. Sans tout relancer de zéro à chaque fois.

La communauté organise 2 fois par an des « Lisp Game Jam ». Où tous les dialectes de Lisp sont permis ;)

Interfaces graphiques

C’est un large sujet, et de multiples bibliothèques existent, plus ou moins faciles à prendre en main, plus ou moins portables, etc. Mais voyez la capture d’écran d’Opus Modus en introduction : c’est bien un logiciel graphique multi-plateformes. Dans ce cas, développé avec LispWorks. Par ailleurs, LispWorks possède un “runtime” pour Android et iOs.

Je vais vous laisser voir awesome-cl ou l’article original.

Le web, les web views, Electron

Le web en Common Lisp c’est faisable (et je le fais), on a pas mal de bibliothèques pour divers besoins, on a quelques “frameworks”, minimalistes. Il faut être prêt à mettre les mains dans le cambouis, à mieux connaître le web que lorsqu’on utilise des “frameworks” de haut niveau qui ont beaucoup de couches d’abstraction. Ceci dit, la malléabilité du langage, sa performance, son multi-threading, ses excellents outils de développement, ses fonctionnalités avancées, son déploiement facile… font que certaines choses compliquées dans un autre langage, ou qui nécessiteront une bibliothèque, se font en quelques lignes de manière native.

Ce qui me plaît, c’est la stabilité du langage et de l’écosystème, l’efficience des programmes (de l’ordre de C ou Java, une comparaison parmi d'autres, retours à trouver dans ses articles postérieurs et sur HN), et encore et toujours l’interactivité pendant le développement, le fait que le serveur de développement ne redémarre jamais, ne me fait pas attendre et reste réactif, et comme je disais plus haut le déploiement d’applications, facile : je peux générer un binaire de mon appli web, comprenant tous les fichiers statiques (templates HTML, le JavaScript, etc), le copier sur mon serveur, et c’est tout. Ou le vendre et ne pas devoir accompagner mon client pendant l’installation.

C’est ce que dit aussi l’auteur de Screenshotbot (projet open-source d’automatisation de prise de captures d’écran). Quand sa concurrence fait installer ses solutions via npm, il livre un petit binaire qui fait tout. Et j’ai bien dit petit, donc ±10Mo pour le projet et toutes ses dépendances, car il utilise LispWorks, qui permet d’enlever le code mort de l’image finale, alors que SBCL ne permet pas (encore ?) cela et les binaires pèsent ±30Mo compressés, 80Mo non compressés. Néanmoins, un binaire (compressé) de 30Mo (c’est le cas pour une application à moi qui inclue une douzaine de dépendances) contient le débogueur, le compilateur… ce qui permet de se connecter à une application pendant qu’elle tourne et de charger du code à la volée. On peut s’en servir pour observer ce qu’il se passe autant que pour faire des mises à jour. Au choix ! Mais oui, on peut garder les bonnes pratiques de l’industrie.

Pour démarrer sur le sujet :

Comme outils moins classiques, on a CLOG (CL Omnificient GUI), qui permet le développement d’applications web un peu comme une interface graphique, avec une grande interactivité pendant le développement (via websockets).

CLOG

L’infatigable lisper @mmontone se lance dans mold-desktop, un desktop pour le web, en suivant les principes de « moldable software ».

mold-desktop

Enfin, un article pour présenter les trois « web views » pour Common Lisp: webview, webui, Electron. On peut délivrer une application multi-plateformes écrite avec les technologies du web.

Une application web lancée en local dans un navigateur, avec webview

Scripting

En Common Lisp peut lancer un programme depuis les sources, ou bien générer un exécutable.

Mais, par défaut, l’un ou l’autre sont un peu lourds à l’usage et ne satisfont pas vraiment le développeur pressé qui souhaite lancer un petit script écrit en Lisp. C’est aussi un peu pour cela qu’on reste tant dans le REPL, où toute procédure une fois définie est instantanément appelable. On n’a pas véritablement besoin de passer par le terminal.

Mais des projets élargissent les possibilités.

kiln: « Infrastructure for scripting in Common Lisp to make Lisp scripting efficient and ergonomic » - soit, pouvoir appeler du Lisp depuis le shell de manière légère.

unix-in-lisp - il paraît fou ce projet : on “monte” les utilitaires Unix dans son image Lisp.

CIEL Is an Extended Lisp (discussion HN) - 100% Common Lisp, « batteries included »

  • une collection de bibliothèques pour rendre CL plus utile au quotidien aujourd’hui : inclue des bibliothèques pour le JSON, le web, le CSV, les expressions régulières…
  • un moyen de lancer des scripts au démarrage rapide et sans étape de “build”, avec toutes les bibliothèques à disposition.

Vidéos

Voici une petite sélection.

Des démos d’applications :

Apprendre :

De l’European Lisp Symposium 2024 :

Conclusion

C’était un compte-rendu écourté qui vous aura, je l’espère, donné envie d’en voir plus.

En Common Lisp on s’éclate ET on délivre du logiciel, ce qui n’est pas donné à tout le monde ;)

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •