Tomas Petricek & Phil Trelford's Functional Programming in .NET

Please RSVP for instructions on how to join the event.

Description

Functional ideas are becoming ubiquitous in the .NET world. F# is a Visual Studio language; C# 3.0 includes many functional constructs; Reactive extensions (Rx) are based on functional design and upcoming version of C# is inspired by F# asynchronous workflows.

Learning several simple functional concepts will help you understand these technologies and use them effectively. This means that the course will make you a better programmer even if you’re not going to immediately start using F#. This course is based on experience of developing commercial applications in F# and we’ll discuss good ways of introducing F# to your daily work.

Lear How To

You’ll learn how to use and understand functional programming concepts and technologies in practice on the .NET platform.

  • Think in the functional way and use this thinking when designing .NET applications
  • Write effective and succinct code in F#
  • Combine F# functional libraries F# with object-oriented components in C#.
  • Model problem domains using functional types
  • Write reactive and asynchronous applications

Outline

Day 1 - Introducing functional concepts

From functional programming in C# to F#

  • How F# fits with the rest of the world?
  • Translating object-oriented C# to F#
  • Using immutable types in C# and F#

Working with functional concepts

  • Using functions as values
  • Declarative list processing and how LINQ works
  • Declarative event processing using F# and Reactive Extensions (Rx)

Understanding and refactoring functional code

  • Parallelizing CPU-intensive computations
  • Testing functional programs and .NET applications with F#

Day 2 - Point of sale application in 1 day

Understanding functional design

  • Using primitive functional data types: 
Records and Discriminated unions
  • Domain modelling using functional types
  • Writing programs as transformations 
between domain models
  • Creating abstract data types

Reactive and data-oriented programming

  • Sequence expressions and the workflow syntax
  • Asynchronous user-interface programming
  • Completing Silverlight application

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