metaprogramming 簡單的說, 就是程序員編寫 template, 經由 compiler 或是 interpreter 配合特定條件及參數, 進行 code generating.

例如

  • C++ 中的 template
  • 在 Makefile 中可以 $(), $(call), $(eval) 進行 macro expansion
  • 在 interpreted language 中通常會有 eval()