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. As software becomes more complex, it is imperative to structure it well, to ensure that it is easy to write, debug, and provides a collection of modules that can be reused to reduce future programming costs. Functional Programming has been around for a while, but it is gaining popularity, especially due to direct support in languages on the JVM and the CLR. Writing code in functional style is not about syntax, it is a paradigm shift. In this presentation, using examples in F# and C#, you will learn how to write code in functional style. We will start out discussing the elements of functional programming and then look at examples of some common operations and how you can implement those in functional style
This workshop is designed to teach you some of the basics of F# and Functional Programming by combining theory
(slides)
The course is split into 4 modules, each of them contains a presentation (theory) and one exercise (practice).
- Bindings
- Functions
- Tuples
- Records
- High order functions
- Pipelining
- Partial application
- Composition
- Options
- Pattern matching
- Discriminated unions
- Units of measure
- Functional lists
- Object Expression
- DSL
- Async computation
- Agent programming
- Parallel Web-Crawler
- .NET Core SDK
- Visual Studio Code
- Ionide Package
- Mono (Mac only)
- Mono, F# Compiler and F# Interactive (Linux only)
.NET Core Sdk 2.0 or higher
- Install the Sdk (not the Runtime): https://www.microsoft.com/net/download/core/sdk
Your favorite IDE, you can pick one of the following:
with these extensions:
-
C# extension
-
Ionide-fsharp extension