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!

@pfpoitras I'm someone who isn't even actually *too* concerned about bloat tbh. if its large but solid software, I'm generally ok with it. like agda, for example.

but if I can use a compiler thats produces static binaries that are nearly as fast as C, but in my favorite functional language, which compiles a large dependently typed language like Idris2 in 45 seconds, while sporting the best repl and debugger I've ever used... how could I turn away from that???

Follow

@rml as I already said, 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, 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.

is a clear example that if you use the right paradigm (i.e. Nanopass DSL), then the problem became easier.

@pfpoitras

@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.

@mzan @pfpoitras

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.

citeseerx.ist.psu.edu/document

#compilers

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.