For 2020, we're taking F# eXchange online!
Learn to maximize the significant power and inherent flexibility of F#.
Since 2011 F# eXchange has been the premiere gathering for F# experts, enthusiasts — and those merely curious about the functional language. Now, more than ever, the passionate and fast growing F# community needs a specialised event to come together, exchange ideas and meet like minded people.
Come learn the latest techniques and newest language developments from the world’s foremost F# experts, and forge relationships that will last for years to come.

This year’s F# eXchange will take place entirely online.
Featuring one day of expert-led talks plus breakout spaces for getting to know your fellow “fsharpers”.
At Skills Matter, we’ve chosen to see the events of the past year as a challenge to make our content and community more inclusive and accessible to all. Beyond the current COVID‑19 pandemic, we have a vision of a community where knowledge sharing and skills transfer are not limited by physical barriers.
We are excited about the opportunity to truly welcome the international F# community to this year’s F# eXchange. We hope to see you there!
Who's going to be there?
This year's speakers include:
Plus lightning talks by:
Explore F# eXchange 2020
Get involved, plan your conference, or start your learning today

View the programme
Our 1-day virtual conference features a full day of sessions from more than 15 F# experts.
See who's speaking
Want to speak?
The F# eXchange Call for Papers is now closed. Thank you to everyone who submitted.
Learn More
Revisit 2019
View (or review) the more than 25 sessions from F# eXchange 2019 in our library of SkillsCast videos.
visit the libraryExcited? Share it!
Day 1: F# eXchange 2020
A 1-Day Virtual Conference
Track | Main Stage— All times are listed in UTC | |||
10:00
Invalid Time
Invalid Time
|
f#
introduction
About the speaker...Don SymeDon Syme is a Principal Researcher at Microsoft Research, Cambridge. He works with researchers, Microsoft and open source communities to make better programming technologies, and, through that, make people more productive and happier. His main responsibility is the design and implementation of the F# programming language and he contributes to its tooling and community. Don is the primary author of Expert F#. He has also worked on the design of virtual machines, the C# language (being co-responsible for C# and .NET generics, and one of many contributors to C# asynchronous programming) and, indirectly, Visual Basic and other .NET languages. Don't main research area is programming language design and implementation, with emphasis on making languages that are simpler to use, interoperate well with other languages and which incorporate aspects of object-oriented, asynchronous and parallel programming. He is interested in programming language perspectives on type inference, concurrency, reactivity, extensible pattern matching and language-oriented programming. He also work extensively with teams in the Microsoft Developer Division on other programming-related technologies. In the past Don has worked in formal specification, interactive proof, automated verification and proof description languages. He has a PhD from the University of Cambridge and is a member of the WG2.8 working group on functional programming. |
|||
10:10
Invalid Time
Invalid Time
|
I will give a brief history of types, and will discuss some new, and not that new, type systems, such as session types (types for distributed programs), and refinement types (types with predicates). I will challenge you to think how (and why) we can stretch the notion of types and use them to prevent communication faults such as deadlocks and communication mismatches. In particular, I will discuss two F# projects that have flirted with the idea of expressive types in F#. These are session type providers — a type provider which enables programming of safe communication protocols; and Fluid types — a toy compiler extension that infers predicates from F# programs. Finally, I will show some recent developments in OCaml, F* and other strange creatures, as to discuss how far we should (if at all) push the boundaries of the F# type system, and what are the trade-offs that we have to make. |
|||
11:00
Invalid Time
Invalid Time
|
Fable has already proved that F# is really good at transpiling. Peeble is taking the same steps to transpile F# to PHP, allowing users to integrate into environments where running .NET is not an option. Through the example of a real world game development, you'll experience how to write F# using Fable — Elmish on the front, and the same code converted to PHP on the back. This same approach could be done to integrate easily with Go, Python, or similar languages. The alternative to this would require us to write the full program in JavaScript and PHP, implementing 3K lines of complex game login twice in two different languages. The end result? The game "Crazy Farmers" . You can view the code on github at https://github.com/thinkbeforecoding/crazy |
|||
11:40
Invalid Time
Invalid Time
|
Break |
|||
11:50
Invalid Time
Invalid Time
|
With a mature .NET tool ecosystem, the time has come for the new Fable (codename Nagareyama) to fly alone, and remove the Babel dependency. We will see how this improves the Fable experience as well as the other new features coming in the new release. |
|||
12:30
Invalid Time
Invalid Time
|
Break |
|||
13:00
Invalid Time
Invalid Time
|
The F# Software Foundation (FSSF) works tirelessly to help nurture and grow the F# community. Throughout its various programs and initiatives, one of its goals is to reduce the barrier to get started and become proficient with F#. In this 10 minutes lightning talk, Kevin Avignon will go over the multiple initiatives of the FSSF.
f#
nonprofit-technology
techforgood
About the speaker...Kevin AvignonIf you want to know more about him, you can check out his blog or find him on GitHub & Twitter as @kavignon. |
|||
13:10
Invalid Time
Invalid Time
|
Mathematical Planning (MP) is the science of caring for people. It focuses on answering the question, “Given a quantifiable goal, constraints to be obeyed, and decisions to be made, what is the best plan?” Every organization is answering this question every day. Everything hinges on whether we can continually identify the best course of action. Mathematical Planning is an underutilized technology and I am on a mission to inform and empower developers to use it. Mathematical Planning has been slowly coming into the mainstream and there are now libraries in most programming languages. Python has PuLP and Gurobi, C# has OPTANO, and F# has Flips. I will show that F#’s unique set of features make it the ideal tool for performing Mathematical Planning. These features include the functional-first nature, the algebraic types, and Units of Measure. I will show the power of Mathematical Planning and how F# addresses many of the pain points found in other languages when developing real-world Mathematical Planning models. |
|||
13:20
Invalid Time
Invalid Time
|
Join Phil as he takes us a modest journey of an open source project, from early prototypes all the way to adoption and finally hand over to new owners, and plenty of fun and games along the way. This talk will be about the Foq project, which is pronounced Fock-U! It's a very small project, the original source code is less than 100 lines and the final version is still in a single source file. Despite it's conciseness the project has nearly 200K downloads of the Nuget packet and has been adopted by all sorts from hedge funds to the F# compiler. This talk goes beyond the source to look at some of the many mishaps along the way. |
|||
13:30
Invalid Time
Invalid Time
|
Software developers are often tasked with building business applications that are required to model and comply with business requirements. However, the source code for these applications often obfuscate their business requirements instead of reflecting them. This paradox can be remedied by using a strong type system and some Domain Driven Design principles. In this lightning talk, Scott Nimrod explains how business requirements can be converted into a compilable specification that application modules can interpret. The target audience for this talk is software developers.
f#
modelling
type-system
domain-driven-design
About the speaker...Scott NimrodHis blog can be found at Bizmonger.Wordpress.com. |
|||
13:40
Invalid Time
Invalid Time
|
Pulumi enables developers to leverage powerful general-purpose languages for infrastructure definitions. Now supporting .NET, allows users to use a single language for everything. Thanks to the expressiveness of the F# language features, a few computational expressions can make your infrastructure code cleaner than any other language and yet ensuring correctness by strong compile-type validation and making the development experience great using existing IntelliSense in estabilished IDEs. This talk is a journey from a great tool such as Pulumi, to a perfect, boiler-plate free, DSL for defining cross-cloud infrastructure. |
|||
13:50
Invalid Time
Invalid Time
|
F# can be used as single page application via Fable and serverside app via .NET. In this talk, Onur will discuss how F# helped him build a complicated, commercial grade, 3D bin packing application. He will address questions like how to use F# to its full extent, and in what parts you have to be careful (e.g., performance). Finally, he will demonstrate how complicated code can be run on serverside as well as on the client. |
|||
14:00
Invalid Time
Invalid Time
|
Meet one of F#'s most distinctive — if under-used — features: Units of Measure. Interactively shape the presentation while you learn how to: ensure correctness, improve intentionality, and preclude subtle bugs. |
|||
14:10
Invalid Time
Invalid Time
|
Biotech is a broad and demanding field for software development. It combines a messy domain, rapidly changing requirements and brutal timelines for software development that stress the software development life cycle. In the middle of this controlled software explosion, we have developed a platform using F# starting from a compiler that targets life itself, through to data management systems overseeing millions of liquid transfers a year. The end product of the lab engineering is a living organism (yeast based) that can manufacture the active ingredients in the Cannabis plant via fermentation. This talk will give a user-focused view into the types of problems we have to solve, and why F# and Fable have been good companions on this journey. Also why you don't want to be the only BASIC programming in a lab full of roaming monsters. |
|||
14:50
Invalid Time
Invalid Time
|
Break |
|||
15:00
Invalid Time
Invalid Time
|
We are living in a world of ever expanding data. For the most part, Type Providers give you a way to easily communicate with data sources in a convenient, type checked way. And while there are Type Providers for virtually all the popular data sources in the market, you just might encounter a situation where you need to build a Type Provider for custom data sources. In this talk, we discuss how Type Providers are built looking at an example building an F# Type Provider for the Edelweiss Data Platform. |
|||
15:40
Invalid Time
Invalid Time
|
Break into the world of machine learning, which is both available and easy for .NET developers. It’s imperative in today’s world to be able to make fast decisions based on real-time data. In this session, you will learn how easy is to start using machine learning in your .NET applications via ML.NET in F# to make split-second evaluations. This session demo includes several code examples to cover different machine learning algorithms for useful cases. You will walk away from this session with knowledge on how to leverage functional approaches in combination with ML.NET, to maximize your business success.
f#
.net
machine-leaning
About the speaker...Riccardo TerrellRiccardo is an information systems and technology professional and architect specializing in software & systems development. He has over 20 years’ experience delivering cost-effective technology solutions in the competitive business environment. Riccardo believes in multi-paradigm programming to maximize the power of code and is the author of "Functional Concurrency in .NET”; which, features how to develop highly-scalable systems in F# & C#. Riccardo tweets from: @TRikace |
|||
16:20
Invalid Time
Invalid Time
|
One of the larger problems in biomedical research is reproducibility: consistent results of the same experiment is often elusive. Another problem is one of complexity — biology is inherently a complex subject and implementing it in computer code often leads to even more complications. Both of these problems can be traced, in part, to the choice of computer languages used when doing experiments. In this session, we will look at a basic implementation of pattern matching DNA/RNA sequences using traditional code constructs and then reimplement them using F# using functional constructs. We will touch on why the F# solution addresses both the reproducibility problem as well as the code complexity problem. After this session, the attendee will gain a greater appreciation of the power of F# and how it can make complex algorithms simple. |
|||
17:00
Invalid Time
Invalid Time
|
Break |
|||
17:10
Invalid Time
Invalid Time
|
Rule-based chatbots and dialog agents are often derided as "state-machine spaghetti code" where implementations in imperative languages like Python and C# inevitably devolve into unmanageable tangles of nested conditional logic and state mutation. The trend nowadays is to use ML models instead of rule-driven systems. But rule-based dialog systems are inherently pattern-matching systems and languages that excel at pattern-matching may be able to avoid this exponential growth in complexity. In this talk I'll give an overview of Selma — a Web-based multimodal dialog agent for healthcare self-management written entirely in F# using WebSharper. The main topics of this talk are: |
|||
17:50
Invalid Time
Invalid Time
|
F# is too often considered a niche language for mathematics, science, and other academic purposes. Many developers would like to use F# for business application development, but companies are reluctant to adopt the language. It's difficult to convince management that F# can bring more business value long term. Mikhail has succeeded in convincing his organization to use F# everywhere. He has demonstrated success on both the backend and the frontend without actually having a team of F# developers. In this session, he will share with you a case study of successful transition from common C# and JavaScript to the F# language. He will outline the technologies that were used, and the reasons why they were chosen. He will describe a journey of reimplementing an E-commerce project, including the goals that were defined, the team that was built, the obstacles that were faced, and the success that was achieved. You will learn why Mikhail loves to say: "There is nothing impossible if you really want it!" |
|||
18:30
Invalid Time
Invalid Time
|
Day 1, 21 Oct starts 18:30 (Main Stage— All times are listed in UTC)
F# Pub Quiz!
|
-
Welcome to F# eXchange 2020
Featuring Don Syme
Don Syme introduces F# eXchange 2020.
f# introduction -
Type Me If You Can: Writing Safe Communication Protocols with F#
Featuring Rumyana Neykova
In this talk Rumyana gives a history of types, and discusses some new – and not-so-new — type systems: session types (for distributed programs), and refinement types (w/ predicates).
ocaml f# -
Type Me If You Can: Writing Safe Communication Protocols with F#: Bonus Q&A Session
Featuring Rumyana Neykova
In this bonus session, Rumyana Neykova answers questions from her talk "Type Me If You Can: Writing Safe Communication Protocols with F#"
f# ocaml -
Peeble: An F# -> PHP Transpiler
Featuring Jérémie Chassaing
Fable has already proved that F# is really good at transpiling. Now Peeble is taking the same steps to transpile F# to #PHP. In this talk Jérémie Chassaing takes a good look at Peeble through a case study from the world of game development.
peeble elmish f# fable php -
Nagareyama: a new Fable, faster, more powerful and easier to use: Bonus Q&A Session
Featuring Alfonso Garcia-Caro
In this bonus session, Alfonso Garcia-Caro answers questions from his talk "Nagareyama: a new Fable, faster, more powerful and easier to use".
f# fsharp fable -
Nagareyama: a new Fable, faster, more powerful and easier to use
Featuring Alfonso Garcia-Caro
Fable is the bridge that allows F# programmers to go from .NET to JS. And until now this was not only a metaphor, Fable relied on Babel and other JS tooling, living itself in the two worlds. This has worked great, but it made Fable more complex than it needed to be for users and maintainers.
f# .net javascript babel fable -
Lightning Talk: F# Software Foundation Initiatives
Featuring Kevin Avignon
Learn about the multiple programs and initiatives of The F# Software Foundation, and how the FSSF reduces the barrier to get started and become proficient with F#.
f# nonprofit-technology techforgood -
Lightning Talk: F#: The Best Tool for the Hardest Problems
Featuring Matthew Crews
Mathematical Planning is the science of answering the question "What should we do?" In this lightning talk Matthew Crews shows why F# is the best tool for performing MP.
f# flips mathematical-planning -
Lightning Talk: Open Source Fun from Start to End
Featuring Phil Trelford
Phil Trelford takes us on the modest journey of an open source project: Its original source code is less than 100 lines, but it has nearly 200K downloads and has been adopted by everything from hedge funds to the F# compiler.
f# open-source foq -
Lightning Talk: One Language to Rule Them All (IaC in F#)
Featuring Stefano d’Antonio
Stefano d'Antonio introduces Pulumi, which enables developers to leverage powerful general-purpose languages for infrastructure definitions. Now supporting .NET, it allows users to use a single language for everything.
f# infrastructure-as-code intellisense pulumi -
Lightning Talk: F# in 3D Bin Packing
Featuring Onur Gumus
In this lightning talk, Onur Gumus demonstrates a real world application of F# as a commercial-grade 3D bin packer, written in 100% F# code and it's isomorphic.
f# performance serverside fable commercial -
Lightning Talk: The Choosy Devs’ Intro to Units of Measure
Featuring Paul Blasucci
Meet one of F#'s most distinctive — if under-used — features: Units of Measure. Interactively shape the presentation while you learn how to: ensure correctness, improve intentionality, and preclude subtle bugs.
f# units-of-measure -
F# for Biotech — Stranger Things edition
Featuring Darren Platt
Darren Platt shares the story of a biotech platform developed using F# that oversees millions of liquid transfers and leads to a (living!) end product that manufactures the active ingredients of the Cannabis plant.
f# biotechnology biotech -
Machine Learning Made Easy with ML.NET and F#
Featuring Riccardo Terrell
Are you a .NET developer looking to break into Machine Learning? In this talk Riccardo Terrell shares how easy it is to start using ML in your .NET applications by utilising ML.NET in F#
f# .net machine-leaning -
Building a Custom Type Provider
Featuring Ody Mbegbu
There are #TypeProviders for almost all the popular data sources in the market, but you find a situation where you need to go DIY. In this talk you'll see how Type Providers are built as Ody Mbegbu shares an example built for the Edelweiss Data Platform.
f# data type-provider -
Declarative, Concise Implementation of a Rule-based Dialog System in F#
Featuring Allister Beharry
In this talk Allister Beharry offers an overview of Selma — a Web-based multimodal dialog agent for healthcare self-management written entirely in F# using WebSharper.
f# websharper selma -
Rethinking Bioinformatic Algorithms Using F#
Featuring Jamie Dixon
In this talk Jamie Dixon addresses two problems in biomedical research — reproducibility & complexity — by looking at basic implementation of pattern matching DNA/RNA sequences using traditional code constructs and then reimplementing them using F#.
f# reproducible-research rna dna bioinformatics -
F# for a Real World E-commerce Project
Featuring Mikhail Smal
Is F# fit for for business applications? In this session Mikhail Smal will share how he convinced his e-commerce organisation to successfully transition from C# and JavaScript to full tilt F#.
f# e-commerce javascript c#
-
F# eXchange 2023: Conference Livestream
Two days - Online Conference
Connect with an international community of F# enthusiasts as we explore this powerful programming language across two days packed with expert-led keynotes, breakout sessions and practical, coding-based talks.
software-development functional-programming f# -
F# eXchange 2023: In-Person
Two days in London
F# eXchange returns to London for two days packed with expert-led keynotes, breakout sessions and practical, coding-based talks.
software-development f# -
F# eXchange 2021
One day - Online Conference
With talks and sessions chosen by developers for developers, F# eXchange is the premiere gathering for the international F# community to come together, share ideas and meet likeminded people. In a day packed with practical, coding-based talks you'll connect with the global F# Community.
software-development f# functional-programming -
F# eXchange 2019
Two days in London
Find out how to productively use the power of F# to solve real-world software engineering problems at F# eXchange 2019, a conference for those in the F# community to share ideas and learn new concepts, tools and approaches using the F# language.
f# .net functional deep-dream neural-nets functional-programming fintech science fsharp fable dotnet -
F# eXchange 2018
Two days in London
Interested in finding out how to productively use the power of F# to solve real-world software engineering problems? Curious about running F# on .NET Core, compiling it to Javascript, deploying F# actors with Akka.NET on Docker, creating cross-platform Xamarin apps, and much, much more? Then come...
f# functional deep-dream neural-nets functional-programming fintech science fsharp fable dotnet -
F# eXchange 2017
Two days in London
Interested in finding out how to productively use the power of F# to solve real-world software engineering problems? Curious about running F# on .NET Core, compiling it to Javascript, deploying F# actors with Akka.NET on Docker, creating cross-platform Xamarin apps, and much, much more? Then come...
fsharp f# science fintech functional-programming fsharpx machine-learning neural-nets deep-dream fp -
Progressive F# Tutorials 2016
Two days in London
Do you enjoy learning by getting your hands dirty and getting stuck into new concepts and ideas? Are you passionate about F#, functional programming and machine learning? Are you looking to discuss hot topics with experts and other like minded individuals?
f# functional-programming .net progfsharp fintech fsharp progfsharpldn -
F# eXchange 2016
One day in London
Want to meet the international F# community and learn and share skills with some of the world's top experts, mathematicians and engineers? Find out about all the latest F# technologies and applications and discover the latest best practices and ideas? Then come and join us at the F# eXchange...
f# functional-programming fsharp dotnet machine-learning science genetics genetic-engineering -
Progressive F# Tutorials 2015
Two days in London
Do you enjoy learning by getting your hands dirty and getting stuck into new concepts and ideas? Are you passionate about F#, functional programming and machine learning? Are you looking to discuss hot topics with experts and other like minded individuals?
f# functional-programming .net -
F# eXchange Hack Day
One day in London
Following the first ever F# eXchange on April 17th, with seminal speakers such as Scott Wlaschin, Tomas Petricek and Robert Pickering, we invite you to hack with the stars at the F# eXchange Hack Day.
f# functional-programming fsharpex -
F# eXchange 2015 - the conference on F#
One day in London
Would you like to hear from project leaders in F# or how it is being employed across various domains? Then join us for the F# exchange this April!
Featuring a day of talks, demos and discussions, the F# eXchange will bring the world's top experts and practitioners together with the passionate...
f# .net functional-programming fsharp -
Progressive F# Tutorials 2014
Two days in London
Skills Matter is organising the Progressive F# Tutorials, an annual 2-day conference providing in-depth, hands-on workshops for beginners and advanced F#-ers who want to develop their skills, meet like-minded people and discuss topics like meta-programming, machine learning and more.
f# functional-programming net progfsharp -
Progressive F# Tutorials NYC 2014
Two days in New York City
Want to join Don Syme, Scott Wlaschin, Rachel Reese and other key members of F#'s passionate community, for two days of learning and hands-on coding? Eager to gain valuable F# skills and insights into the latest innovations?
f# functional-programming net -
Progressive F# Tutorials 2013
Two days in London
The Progressive F# Tutorials 2013 brought together the leading experts in F# such as Don Syme, Jon Harrop & Simon Cousins to deliver a range of talks and 4 hour intensive hands-on tutorials plus a wealth of discussions.
f# functional-programming cloud testing tdd .net progfsharp -
Progressive F# Tutorials NYC 2013
Two days in New York City
See below for details of the 2014 edition! Skills Matter hosted the second annual Progressive F# Tutorials to New York City in September 2013.
f# progfsharpnyc machine-learning functional-programming -
Progressive F# Tutorials 2012
Two days in London
Skills Matter is happy to announce the return of the Progressive F# Tutorials to London over the 1st and 2nd November.
Join us at The Crypt in Clerkenwell, for practical, hands-on tutorials in F#.
Keep up to date with the latest announced speakers and talks by following us on twitter -...
f# functional-programming tdd -
2012 Progressive F# Tutorials NYC
Two days in New York City
Learn and share skills with the F# world's foremost experts on hand, including Don Syme, Tomas Petricek, Phil Trelford and Chris Marinos, each giving hands-on in-depth tutorials which are sure to bring fresh insight and challenge no matter your level of skill.
f# -
Progressive F# Tutorials
Two days in London
This is the first Progressive F# Tutorials, a 2-day, 2-track conference, covering the latest developments in the fast moving world of F# Programming.
With a programme featuring some of the biggest authorities on F# we have made sure the Progressive F# Tutorials will be ultimate place to learn,...
f# functional-programming