Nimrod is a not so popular programming language that I’ve been playing around with lately. Instead of jumping into different things I’ve done with it I’ll start by giving a tiny introduction that explains why I care about Nimrod. I’ve been using it for over a week now so I think I have enough of a grasp to have an opinion.
Nimrod first interested me because it compiles to C with little extra overhead, so it’s fast, but the killer feature you don’t see often is the ability to write hygienic macros. You can manipulate the AST at compilation time. Since one of my pet projects was writing C with s-exps to facilitate the usage of macros, this was of interest to me.
There are a few other languages that fill the same niche. I’d say its competitors are C++, D, Go, and Rust. I’ve played with them all except Rust, I don’t think any of them have the ability to write macros.