Introduction to pure functional transformations (LINQ to XML)

This section introduces functional transformations, including the underlying concepts and supporting language constructs. It contrasts the object-oriented and functional transformation approaches to programming, including advice on how to transition to the latter. Although functional transformations can be used in many programming scenarios, XML transformation is used here as a concrete example.

The Tutorial: Manipulate content in a WordprocessingML document tutorial provides a series of examples, each building on the previous one. These examples demonstrate the pure functional transformational approach to manipulating XML. This tutorial assumes a working knowledge of C# or Visual Basic. Detailed semantics of the language constructs aren't provided in this tutorial, but links are provided to the language documentation as appropriate.

A working knowledge of basic computer science concepts and XML, including XML namespaces, is also assumed.

In this section

Article Description
Concepts and terminology (functional transformation) Introduces the concepts and terminology of pure functional transformations.
Functional programming vs. imperative programming Compares and contrasts functional programming to more traditional imperative (procedural) programming.
Refactor into pure functions Introduces pure functions, and shows examples of and pure and impure functions.
Applicability of functional transformation Describes typical scenarios for functional transformations.
Functional transformation of XML Describes functional transformations in the context of transforming XML trees.