Le système de types tripartite de Common Lisp : types, classes et vérité de la machine

2025-09-02

Cet article explore les aspects uniques du système de types de Common Lisp. Il n’est ni simplement statique ni dynamique, mais une interaction sophistiquée entre les types, les classes et l’implémentation sous-jacente de la machine. Les types régissent la compatibilité des appels de fonctions, la compatibilité des champs de structure et les optimisations du compilateur ; les classes dictent l’expédition des méthodes et l’héritage orienté objet ; tandis que la machine cache les détails d’implémentation tels que les balises de type. À travers des exemples, l’article montre comment Common Lisp équilibre la fluidité des langages dynamiques avec la vérification des types à l’exécution et à la compilation et l’optimisation, améliorant ainsi le débogage et les performances.

Lire plus
Développement

Compilation croisée de liaisons Raylib Lisp et de jeux pour Windows à partir de Linux

2025-06-30

Cet article détaille le processus de compilation croisée de code C et d'un programme SBCL Lisp pour Windows à partir de Linux, utilisant Wine pour exécuter un SBCL Windows dans un Emacs basé sur Linux, et chargeant des fichiers .dll dans l'image Lisp pour produire un exécutable .exe. L'auteur décrit la compilation croisée de code C à l'aide de mingw-w64-toolchain, la configuration de la bibliothèque Raylib pour la compilation croisée afin de générer des fichiers .dll, l'installation et l'utilisation de SBCL sous Wine, l'utilisation de vend pour la gestion des dépendances et, enfin, l'utilisation de sb-ext:save-lisp-and-die pour créer l'exécutable Windows.

Lire plus
Développement