Dialects and domain-specific lingo frequently arises to help people communicate effectively. MPS brings the same flexibility into the world of programming languages. Unlike traditional programming languages with strict syntax and semantics, MPS allows languages to be created, altered or extended by their users.