a month or so ago I posted that the #chez compiler is only 5mb. it turns out that I was wrong, so I want to correct the misinfo.
chez is actually 315kb
#scheme #lisp #compilers
@rml Bloat is out of control!
My grandpappy had 56kB of ram and he liked it that way!
@rml as I already said, #chez uses Nanopass, that is a Scheme DSL where you specify: layers of intermediate code representations (IR); small and composable compilation pass on/between them.
Thanks to this approach, #chez source code is one of the shortest and more readable compilers on the planet, despite it produces very fast compiled code for Scheme that is a language difficult to compile in an efficient way.
#chez is a clear example that if you use the right paradigm (i.e. Nanopass DSL), then the problem became easier.
#MLIR? You mean the Megapass framework???
Its worth pointing out this great essay on #Chez's evolution from Dybvig. Probably the biggest takeway: optimize for the long term, choose your optimizations wisely, never try to squeeze out performance for short term gain.
@mzan @pfpoitras
Totally, and the #nanopass framework is a joy to use. While I'm starting to get interested in #LLVM, primarily because the learning resources are immense, I'm not sure why anyone would choose it except for very low-level matters, or targeting something like SPIRV.