JuliaLang/julia — pull request #1755 by toivoh (2012-12-14 12:51:32+00:00)
Title: RFC: Add metaprogramming module Base.Meta

As per #1576.
I thought that the best way to come forward on this would be to create this pull request with some metaprogramming tools that I find essential myself. Then people can critique it. Once there's a module in `Base`, others can create pull requests with their favorite tools, and we can critique those. So critique away!

Right now, the module contains `quot`, an extended `isexpr` that can check if a node is an `Expr` with head that belongs to a given set (see the code for what those mean), and my [lispy AST printer](https://gist.github.com/4121122), slightly touched up. I find that the lispy printer has largely replaced my `ex.args[2].args[1].head` etc. exploration.