Strange Loop

2009 - 2023

/

St. Louis, MO

Nimrod: A new approach to meta programming

Nimrod is a statically typed programming language that tries to give the programmer ultimate power without compromises on runtime efficiency. This means it focuses on compile-time mechanisms in all their various forms: It supports unhygienic and hygienic macros, declarative or imperative AST based macros as well as term rewriting macros. The latter even support side-effect and alias analysis so that user definable optimizations can be implemented easily and safely.

Nimrod does not rely on Lisp's prefix syntax, instead it uses a friendlier infix/indentation based syntax. The advantage is that the code doesn't need to resemble an AST; this is a benefit because one does more programming than meta-programming. It's a good trade-off to optimize the syntax for the ordinary programming.

This will be the first official talk about the Nimrod programming language in public. I will give a brief introduction to Nimrod, talk about its features and its goals with a focus on the metaprogramming capabilities.

Andreas Rumpf

Andreas Rumpf

Andreas Rumpf is the designer of the Nimrod programming language, which he develops in his spare time. He is a software engineer working at a top secret company and constantly attempts to create own start-up which will allow him to program in Nimrod full-time. He has programmed in various programming languages over the years (including quite obscure ones) without being satisfied with any of them. Andreas Rumpf holds a degree in Computer Science which he obtained from University of Kaiserslautern.