jeudi 12 mars 2026
« "Crafting Interpreters contains everything you need to implement a full-featured, efficient scripting language. You’ll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused. It’s a blast." The first part with lexing, formal language theory, parsing, AST ... is also useful for compiled languages. »
jeudi 19 juin 2025
« Bien que la dette technique de ce « jeune » compilateur ne soit pas importante, des réflexions sur le pourquoi ce n'est pas facile d'améliorer les performances du compilateur Rust. »
jeudi 20 mars 2025
« It was one of the latest weeks big news : TypeScript is migrating to Go. But why, why not staying as it is, why not switching to C#, Rust, or another language ? Here Anders Hejlsberg, one of the co-creator of TypeScript explains almost everything. One figure struck me, if I understood well, speaking of why alternatives to TypeScript compiler struggled to attain critical mass : "we have about one hundred man year invested in TypeScript". Anyway, let's hope they will find a migration path smoother than other languages, as TypeScript 6 (JS) and TypeScript 7 (native, written in Go) may well live a long time alongside one another. »
LLVM architecture [Laurent Steff]
jeudi 8 décembre 2022
« Are you curious about what is the LLVM, its frontend, backend, and its Intermediate Representation (IR) ?. This chapter from the book The Architecture of Open-Source Applications Vol1 explains it all. »
jeudi 24 mars 2022
« This short article explains well what a compiler tries to do to compile a template function call, what is SFINAE (Substitution Failure Is Not An Error), and immediate context means. »
jeudi 9 septembre 2021
« Trucs et astuces pour générer des exécutables vraiment statiques de programmes OCaml, sur Linux et MacOS. »
jeudi 24 juin 2021
« For those having notions of assembly and memory layout of a program, and interested about how works shared libraries and what PIC, GOT, PLT are, this article explains a lot. »
jeudi 1 avril 2021
« Cet article explique à partir d'exemples comment se comporte un compilateur C++ à travers les différentes étapes de preprocessing, compilation et l'édition de liens. »
mercredi 5 février 2020
« Une introduction à Numba, compilateur JIT qui accélère le code Python (+Numpy) aussi bien pour les architectures matérielles classiques (CPU) que pour les GPU. »
mercredi 8 janvier 2020
« Un article très pédagogique pour définir le fonctionnement d'un compilateur just-in-time. C'est en fait la deuxième partie d'une série d'articles très intéressants présentant WebAssembly. »
Wandbox [Sébastien]
mardi 22 août 2017
« Une interface qui permet de tester des snippets de code d'une trentaine de langages avec différents compilateurs / interpréteurs. Le lien est une illustration avec un snippet de code qui exploite une nouvelle feature du C++17 (if constexpr): on peut déterminer qu'il faut clang 3.9.1 ou gcc 7.1 pour que le code compile. »