A really neat idea for LLVM: AST interpreters are slow, so clang's constexpr evaluator is slow. Write a small bytecode interpreter to make constexpr execution scale better!
miniblog.
Related Posts
Scheme is a funny PL to implement. You get a basic parser/evaluator working then suddenly TCO! call/cc! and you're doing a major refactor.
After implementing COND in my partial evaluator, I've concluded that IF is a better special form. COND simply has too many ways to use it.