Abstract
Chapters 3, 4, and 6 covered three well-known programming paradigms in F#: functional, imperative, and object-oriented programming. This chapter covers techniques and constructs related to what is essentially a fourth programming paradigm: language-oriented 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, made up of named variables such as x and y and composite expressions such as x+y, xy, −x, and x2. For the purposes of this chapter, this language can have a number of manifestations:
-
One or more concrete representations: for example, using an ASCII text format or an XML representation of arithmetic expressions.
-
One or more abstract representations: for example, as F# values representing the normalized form of an arithmetic expression tree.
-
One or more computational representations, either by functions that compute the values of arithmetic expressions or via other engines that perform analysis, interpretation, compilation, execution, or transformation on language fragments. These can be implemented in F#, in another .NET language, or in external engines.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Editor information
Rights and permissions
Copyright information
© 2010 Don Syme, Adam Granicz, and Antonio Cisternino
About this chapter
Cite this chapter
Syme, D., Granicz, A., Cisternino, A. (2010). Introducing Language-Oriented Programming. In: Andres, C., et al. Expert F# 2.0. Apress. https://doi.org/10.1007/978-1-4302-2432-7_9
Download citation
DOI: https://doi.org/10.1007/978-1-4302-2432-7_9
Publisher Name: Apress
Print ISBN: 978-1-4302-2431-0
Online ISBN: 978-1-4302-2432-7
eBook Packages: Professional and Applied ComputingApress Access BooksProfessional and Applied Computing (R0)