clr 2025-10-21

More insomnia cures! There are some new posts in the https://dmiller.github.io/clojure-clr-next/general/2025/08/31/classic-clojure-compiler-contemplation.html series. • https://dmiller.github.io/clojure-clr-next/general/2025/10/15/fn-star-talkin-bout-my-generation.html -- Code generation for Clojure functions • https://dmiller.github.io/clojure-clr-next/general/2025/10/16/tag-youre-int.html -- Type analysis in the Clojure compiler • https://dmiller.github.io/clojure-clr-next/general/2025/10/17/primitive-urges.html -- Handling primitive types • https://dmiller.github.io/clojure-clr-next/general/2025/10/18/inline-skating.html -- How inlining is used to optimize performance • https://dmiller.github.io/clojure-clr-next/general/2025/10/19/key-in-site.html -- How to compile (:keyword arg) • https://dmiller.github.io/clojure-clr-next/general/2025/10/20/is-there-a-protocol-for-that.html -- Protocol implementation The C4 series records some of what I'm learning in my deep dive into some of the internals of the Clojure compiler. I'm doing this work to prepare for upcoming compiler work in the https://github.com/dmiller/clojure-clr-next/ project. These posts describe the Clojure compiler as it exists today. The concepts and ipmlementations apply equally to ClojureJVM and ClojureCLR. Warning: Java-ites will have to read some C# code. Fair warning: These posts are some heavy slogging. The intended audiences are: • me -- so I have a record of some hard-earned insights and don't have to keep banging my head on some of these things every time I have to modify the compiler code. • next me -- for my work enhancing the compiler's type analysis, struct handling, and other CLR-specific changes in ClojureCLR.Next. • replacement me -- for whoever might have to maintain ClojureCLR in the future -- that could be you! • the three people who say they actually have read parts of some of the previous posts in the series -- they are the only reason I mention this at all. I wish them happy reading.

❤️ 5
🙏 1
🦄 1