Metaprogramming in the Ruby C API: Part One: Blocks

This is the first in a series of articles on Metaprogramming in the C API. This series will explain how to implement dynamic method definition, eigenclass and metaclass manipulation, and ultimately DSL construction in pure C. This particular article will discuss Ruby blocks, and how we use them in C.
Blocks
In Ruby, blocks hold a central [...]