Skip to main content

Introducing Language-Oriented Programming

  • Chapter
Expert F# 2.0

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Authors

Editor information

Clay Andres Steve Anglin Mark Beckner Ewan Buckingham Gary Cornell Jonathan Gennick Jonathan Hassell Michelle Lowman Matthew Moodie Duncan Parkes Jeffrey Pepper Frank Pohlmann Douglas Pundick Ben Renow-Clarke Dominic Shakeshaft Matt Wade Tom Welsh Anita Castro Tiffany Taylor

Rights and permissions

Reprints 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

Publish with us

Policies and ethics