NotationalDesign is a methodology by which program design, and especially user interface design, is seen as an instance of ProgrammingLanguageDesign. It is closely related to the InterpreterPattern (and to a lesser extent the CommandPattern), but goes further by merging both the ScriptingLanguage and the DomainSpecificLanguage into a single whole.
While not usually known by this name, NotationalDesign is widely used in LispLanguage and SmalltalkLanguage programming. The premiere example NotationalDesign is the EmacsEditor. - JayOsako