F# Deep Dives by various
I was really looking forward to reading this book, and it was well worth waiting for. The book has many contributing authors, each of whom provides one of the 12 chapters. Of course, with such a diverse set of contributors, some of the chapters are more interesting than others, but many emphasise the benefits of F# as a functional first programming language.
There is an interesting opening chapter on how functional first programming languages can be effectively used in industry, but there were five chapters that I found particularly interesting. Parsing text-based languages looks at the task of writing a parser in F# and uses some interesting techniques such as active patterns to make it easy to read the resulting code. Chapter 6, integrating stock data into the F# language, offers a brief introduction to type providers, and then shows most of the steps to implementing type provider for CSV and YQL.
In the following section on developing complete systems, there are chapters on developing rich user interfaces using the MVC pattern which shows how F# can be used to write an application that uses WPF for its UI, a great chapter on asynchronous and agent-based programming that looks at ETL (extract, transform and load) models, and a chapter on writing games using XNA which emphasises the async workflow which can help keep the state machines of a game understandable.
You’ll learn something from all of the chapters and the book is well worth a read.