In this section the design of Paml language specification is developed and described. The specification means only syntax and semantics without any particular translator implementation (which is described in Prototype section)
The idea is to make styling a language feature, which defines semantics of language elements. Also, the idea of projection editors is not new, so combine styling and projection editor into a hybrid editor.
Productions and resources are a bridge between abstraction level of Paml models and actual output code in C#, which will be compiled/debugged into binaries like DLL.
Introduced enumerations and explicit built-in value types with strong typing.
Projections and injections allow defining cross-cutting functionality using alternative naming.