Paul Vick describes the purpose and concepts of the M Programming Language. The Microsoft code name “M” language is a declarative language for working with data and building domain models. “M” lets users write down how they want to structure and query their data using a textual syntax that is convenient to both author and reader. “M” does not mandate how data is stored or accessed, nor does it mandate a specific implementation technology. Rather, “M” is designed to allow users to write down what they want from their data without having to specify how those requirements are met by a specific technology or platform.