Nimrod looks pretty amazing. I do wonder how extensive use of deep metaprogramming holds up over time as far as maintainability – how well does months old code read when you need to get in there and fix something?
Anyone here used it at all for anything?
I’ve toyed with Nimrod a year or two back. I never did enough with it to draw any real conclusions. I think you have to use a language every day for at least 3 months to be able to say anything useful about it.
As to deep metaprogramming, I think the problem with metaprogramming in most languages isn’t the metaprogramming itself but a lack of tooling to support it. Too much programming is based around tools (primarily text editors) for examing flat source files rather than having the ability to examine the shape of a running system.
The Smalltalk community is great at providing tools for this and makes “metaprogramming” a dream to work. I hope that given Nimrod’s strong emphasis on metaprogramming that work goes into tooling that makes the systems that utilize it easy to explore and understand.
The github repository for Nimrod is https://github.com/nimrod-code You could have a look yourself. I spent some time in the IRC channel of nimrod (#nimrod on irc.freenode.net). Araq (the creator) is quite active there. But there are several others who seem active in European hours. (Logs here: http://build.nimrod-lang.org/irclogs/).
The compiler itself is in Nimrod and there are at least 2 medium sized projects (aporia - the IDE) and nimrod-forum.