Real-World F# Programming Articles now available on MSDN

The F# team is very excited to pass on the news that Tomas Petricek's Real-World F# Programming Articles are now available on MSDN!

Congratulations to Tomas, Keith, Yin and Gordon who have worked so hard on this. Here's the chapter outline:

  • Chapter I: Introducing Functional Programming

    This chapter explains the basic concepts behind functional programming such as immutability, first-class functions and expression-based programming. Many of the concepts are demonstrated in C# to guide programmers without prior experience with F# or functional programming. It also shows the benefits that follow from these concepts, such as the fact that they make testing and reasoning about programs easier.

  • Chapter II: Server-Side Functional Programming

    This chapter explain server-side development and agent-based concurrency in F#. Agents (the MailboxProcessor type) are introduced using a tutorial that develops a simple chat server using agents, encapsulates it into a reusable .NET object and exposes it as a web page using the HttpListener type. The chapter also implements two reusable agents that solve common data processing tasks.

  • Chapter III: Developing Client-Side Applications

    This chapter explain how to write reactive user-interfaces in F# using Silverlight. It covers two approaches to writing reactive applications in F#. The first approach is declarative and it composes data-flow using event combinators. The second approach is more imperative and it describes control-flow using F# asynchronous workflows. The chapter also covers practical aspects, such as how to use F# with XAML and Microsoft Blend.

  • Chapter IV: Numerical and Symbolic Computing

    (This chapter is written by Yin Zhu)

    This chapter explain how to use .NET libraries such as Math.NET Numerics, Microsoft Sho, and F# Power Pack to implement numerical algorithms in F#. It explains what makes F# a great language for numerical computing and reviews various numerical libraries for .NET and F#. Three tutorials cover the most common numerical libraries that can be easily used from F#.

  • Chapter V: Developing Data-Driven Websites

    This chapter explains how to use .NET web and data technologies from F#. It uses F# to develop the model and controllers of an ASP.NET MVC web application with a front-end created using C# and Razor. It shows how to use asynchronous workflows to write more efficient web pages and how to easily access SQL database using dynamic operator.

  • Chapter VI: Visualizing Data with .NET Charts

    This chapter describes the options for visualizing data in F#. The chapter consists of several larger tutorials that cover .NET Chart Controls, the FSharpChart wrapper for F#, Microsoft Excel and briefly also gnuplot. The libraries are demonstrated a few larger tutorials, such as visualization of financial data, and How To articles that show F# code to create common chart types.