MyDef is a general purpose meta-layer language. A meta-layer language allows programmers to program at the text level. Examples of meta-layer programming include macros, generic programming, as well as many higher-order programming such as map and fold in functional programming. Traditionally, meta-programming are always associated with specific programming languages. MyDef is a general purpose meta-layer language that brings the power of meta-programming to many/any languages, even with general text.