In this chapter, you will begin by taking a look at what I mean by language-oriented programming, a term that has been used by many people to mean different things. I’ll also briefly discuss its advantages and disadvantages. Next, you’ll look at several different approaches to language-oriented programming in F#. These techniques include using F# literals to create little languages and using F# quotations. You’ll spend the bulk of this chapter looking at examples where you create a language, then create an interpreter to execute that language. Finally, you’ll take a more detailed look at how languages are executed, including a performance comparison of interpreted or compiled execution techniques.
KeywordsCombinator Library Union Type Abstract Syntax Simple Element Arithmetic Expression
Unable to display preview. Download preview PDF.