Tomas Petricek and Phil Trelford’s Real-World F# Programming

Please RSVP for instructions on how to join the event.


Tomas Petricek and Phil Trelford’s two day course will teach you how to solve real-world .NET problems in F#. Will guide you through several areas where F# can help you be more productive and solve your problems faster, with code that is efficient and easy to maintain. The examples used in this course are based on experience of developing successful commercial applications in F#.

In particular, you’ll learn how to benefit from functional concepts when writing concurrent applications; how to obtain, process and visualize data and how to easily solve seemingly complex algorithmic problems.

After attending the course, you’ll be able to recognize where using F# can save your time and money and you’ll know how to integrate F# components in the .NET ecosystem.

Learn How To

  • Use F# components in a larger .NET system
  • Use agent-based programming to develop scalable concurrent applications and servers
  • Express algorithms in a succinct functional way
  • When to use embedded domain specific languages (DSLs) and how to create them in F#
  • Download, explore and visualize data

If you work in one of the areas covered by the course, you’ll get immediately usable practical knowledge and code samples. If you don’t you’ll learn many advanced techniques that are necessary for any real-world F# programming.


Day 1 - Working with data & Concurrency

Processing and visualizing data

  • Downloading and exploring data
  • Defining the structure of data with 
F# types and units of measure
  • Accessing data with F# 3.0 type providers
  • Visualizing data using F# charting library

Concurrent and parallel programming

  • Overview of parallel & concurrent technologies
  • How to write scalable server-side applications with asynchronous workflows
  • Concurrent programming with F# agents
  • How F# asynchronous workflows relate to "async" in the futre version of C#?

Day 2 - Developing algorithms

Using domain specific languages (DSLs)

  • Creating composable functional libraries
  • When should I develop a DSL?
  • Modelling problems from the financial domain

Distributed and scientific computations

  • Implementing recommender system in F#
  • Distributed parallelism with MPI.NET

Using F# with agile methodologies

  • Using F# for writing .NET unit tests
  • Specifying and testing behavior using functional Behavior Driven Development (BDD)


The course can be tuned to fit your specific needs, typically when teaching the course to developers and architects in your company. For example, we can include more introductory material and focus only on some of the application areas. For more information, contact us at

Upcoming events

No events
IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us
Built with WebSharper