Chapters 3 to 6 covered three well-known programming paradigms in F#: functional, imperative, and object programming. Throughout this book, however, you have in many ways been exploring what is essentially a fourth programming paradigm: language-oriented programming. In this chapter, you will focus on advanced aspects of language-oriented programming through language-integrated, domain-specific languages and meta-programming.
The word language can have a number of meanings in this context. For example, take the simple language of arithmetic expressions and algebra that you learned in high school mathematics, ...