Skip to content

selvacodes/fsharpworkshop

 
 

Repository files navigation

F# Workshop

##Introduction## Do you want to learn F# and Functional Programming? Well, you better start coding!

Learning a new programming language is not easy, on top of reading a lot you need to practice even more.

This workshop is designed to teach you some of the basics of F# and Functional Programming by combining theory (slides) and practice (exercises).

Modules

The course is split into 5 modules, each of them contains a presentation (theory) and one exercise (practice). You can find exercises for each module in this document, for the presentation and source code, refer to the section

Module 1

  • Bindings
  • Functions
  • Tuples
  • Records

Module 2

  • High order functions
  • Pipelining
  • Partial application
  • Composition

Module 3

  • Options
  • Pattern matching
  • Discriminated unions
  • Units of measure

Module 4

  • Functional lists
  • Recursion
  • List module

Module 5

  • Object Oriented Programming
  • Type providers
  • Web Applications

Pre-requisites

Minimum Requirements

  • Visual Studio 2013
  • Visual F# tools 3.1.2 or higher link
  • F# MVC5 Template link
  • XUnit Runner link
  • Visual F# Power Tools (optional) link

Nuget Packages

Recommended Learning Material

Choose the material by selecting the sentence that fits you best. It is recommended to review the first two before taking the workshop.

I don’t understand why people are talking so much about functional programming

Watch this video: Functional Programming: What? Why? When? by Robert C. Martin @unclebobmartin

I haven’t written F# before or I don’t remember much

Practice Online: Try F#

I need an intro to F# for C# developers

Watch this video: F# for the C# developer by Mathias Brandewinder @brandewinder

I want to play around with F# without writing much code

Practice using the Tutorial project in Visual Studio:

  • Add New Project -> Other Languages -> Visual F# -> Tutorial
  • View -> Other Windows -> F# Interactive
  • Open Tutorial.fsx
  • Highlight the code you want to execute and then right-click “Execute in Interactive” (Alt+Enter)

I want to read a good book to learn Functional Programming and F#

Read this one: Real-World Functional Programming by Tomas Petricek @tomaspetricek

Releases

No releases published

Packages

No packages published

Languages

  • C# 64.9%
  • F# 18.2%
  • JavaScript 12.1%
  • HTML 4.0%
  • Other 0.8%