What Is Functional Programming?
Why Is Functional Programming Important?
CHAPTER 2 How to Obtain, Install, and Use F#
Installing the Software Used in This Book
CHAPTER 3 Functional Programming
Exceptions and Exception Handling
CHAPTER 4 Imperative Programming
Calling Static Methods and Properties from .NET Libraries
Using Objects and Instance Members from .NET Libraries
Using Indexers from .NET Libraries
Working with Events from .NET Libraries
Pattern Matching over .NET Types
CHAPTER 5 Object-Oriented Programming
Type Annotations for Subtyping
Classes, Fields, and Explicit Constructors
Overriding Methods from Non-F# Libraries
CHAPTER 6 Organizing, Annotating, and Quoting Code
Opening Namespaces and Modules
Giving Namespaces and Modules Aliases
The Native F# Library FSLib.dll
The ML Compatibility Library MLLib.dll
The Native F# Library FSLib.dll
The Microsoft.FSharp.Core.Operators Module
The Microsoft.FSharp.Reflection Module
The Microsoft.FSharp.Collections.Seq Module
The Microsoft.FSharp.Core.Enum Module
The Microsoft.FSharp.Text.Printf Module
The Microsoft.FSharp.Control.IEvent Module
The Microsoft.FSharp.Math Namespace
The ML Compatibility Library MLLib.dll
The Microsoft.FSharp.Compatibility.OCaml.Pervasives Module
The Microsoft.FSharp.Compatibility.OCaml.Arg Module
Working with Controls in WinForms
Using the Visual Studio Form Designer's Forms in F#
Working with WinForms Events and the IEvent Module
Working with ASP.NET Web Forms
Introducing Windows Presentation Foundation
Introducing Windows Presentation Foundation 3D
The System.Configuration Namespace
Data Binding and the DataGridView
CHAPTER 10 Distributed Applications
Windows Communication Foundation
CHAPTER 11 Language-Oriented Programming
What Is Language-Oriented Programming?
Data Structures As Little Languages
A Data Structure−Based Language Implementation
Metaprogramming with Quotations
An Arithmetic-Language Implementation
Compilation vs. Interpretation
CHAPTER 12 The F# Tool Suite and .NET Programming Tools
Using Useful fsc.exe Command-Line Switches
Compiler Optimization Switches
Signing and Versioning Switches
Printing the Interface Switches
Controlling the fsi.exe Environment
Using the Source Directory Macro
Perfmon and Performance Counters
CHAPTER 13 Compatibility and Advanced Interoperation
Exposing Functions That Take Functions As Parameters
Defining Classes and Interfaces
Using F# with the .NET Framework Versions 1 and 1.1
Using F# from Native Code via COM