Amanda Laucher and Paul Snively debate solving problems through types and tests using different approaches.
Tomas Petricek demoes server-side and client-side asynchronous programming with non-blocking code and without inversion of control in F#.
Phil Trelford suggests domains, such as modeling, DSLs, concurrency, for which functional programming is well-suited, and areas for which an OO or a mixed approach has better results.
Joe Pamer presents what Type Providers coming in F# 3.0 are: a mechanism for accessing a multitude of external data source.
Richard Minerich shows how to use F# in Mono with MonoDevelop, detailing some of the features that make it attractive to programmers.
Don Syme discusses the history of F#, how it came about, the current status of the language, especially its simple model supporting parallel and asynchronous programming, and a preview of F# 3.0.
Josh Graham explains what monads are, how and why they are used, including several concrete examples of monads like Identity, Maybe, List, and Continuation. (This session is based on Amanda Laucher’s presentation “Demystifying Monads.”)
Amanda Laucher and Josh Graham present at an introductory level some of the most important elements of the .NET ecosystem: F#, M, Boo, NUnit, RhinoMocks, Moq, NHibernate, Castle, Windsor, NVelocity, Guerilla WCF, Azure, MEF.
Amanda Laucher and Josh Graham introduce the audience to F# basics showing some of its main features, emphasizing what makes it better than imperative languages. Laucher also presents the case of a real life application where she rewrote large portions of C# code replacing it with dense fast executing F# instructions.
Don Syme presents F# basics, a typed functional language for .NET that combines the succinctness, expressivity, and compositionality of functional programming with the runtime support, libraries, interoperability, tools, and object model of .NET.
In this session recorded at QCon London 2009, Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs. The focus is placed on using concurrency.