<s>[INST] It seems like there is a lot of repetition in programming languages and design patterns. Is there a way to formalize the process of creating programming languages and design patterns?[/INST]