Super Engineer Cat.
Use Macro all the time ~ マクロを使いまくろ ~

Ruby can get AST with RubyVM::AbstractSyntaxTree. I have implemented to convert AST into Ruby code. This will allow you to modify and execute Ruby code at AST level.

  • Ruby code -> Convert to AST -> Convert to another AST -> Convert AST to Ruby code -> Run Ruby code

In this session, I will discuss "Implementations for converting AST to Ruby code" and "Implementations for converting AST to another AST". This feature of "converting to another AST" is similar to what is called a "Macro" in other languages. Let's think together about what happens when we implement "Macro" in Ruby.

Presentation Materials

Recorded video