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 and join us at the F# eXchange in London: meet the international F# community and bring your skills to the next level with some of the world's top experts!

Join us at the F# eXchange London on April 6th and 7th 2017!

NEWS! F# eXchange and Progressive F# Tutorials join forces and become F# eXchange 2017! With a new 2-day format of talks and workshops, there's even more to learn and share! Join us on April 6th and 7th 2017 at CodeNode!

The F# eXchange returns to London for its third instalment this 6-7 April 2017, with a new, 2-day format mixing talks and hands-on workshops. Hosted in the heart of London at CodeNode, we look forward to another intensive couple of days of unadulterated fsharpery, with some of the biggest F# names world-wide: the creator of F#, Don Syme himself, Philip Carter, Visual F# project manager, multiple F# MVPs from all over the world (Paul Blasucci, Evelina Gabasova, Dave Thomas, Enrico Sada, Riccardo Terrell, Tomas Petricek, Robert Pickering, Krzysztof Cieślak), Scott Wlaschin, of F# for Fun and Profit fame, and creators of popular libraries Alfonso Garcia (Fable) and Eirik Tsarpalis (MBrace).Follow us at #FSharpX to hear all the latest news.

When you’re stuck while programming - who you gonna call? StackOverflow! It’s an invaluable source of daily help to many. Interestingly, you can also download the entire data dump of StackOverflow and let machine learning loose on the dataset. In this talk, you will discover what you can learn from the behaviour of developers worldwide. The dataset can give you answers to many questions - where should you move to find most F#-ers? And is F# used just for hobby projects? You will explore how to answer these - and in the meanwhile you will also learn about ideas behind some machine learning algorithms that can give you insights into complex data. You will discover a combination of functional language F# with statistical computing language R to show how you can easily access and process real-world data the functional way.

About the speaker...

Evelina is a machine learning researcher working in bioinformatics, trying to reverse-engineer cancer at University of Cambridge. When not at work, she likes to play with fun datasets to extract interesting insights.

Evelina is a big fan of F# and uses it frequently for data manipulation and exploratory analysis in her research. Outside of academia, she also speaks at developer conferences and user groups about using F# for data science. She writes a blog at http://www.evelinag.com.

What do you get when you combine Kestrel on .NET Core with Freya powered by Hopac? A highly concurrent, fully functional, and standards compliant web server ready to handle extreme loads.

In this talk, you will explore Freya and how its machine and router concepts make building a web service that can handle authentication, caching constructs, and more without requiring you to become fluent in the HTTP RFCs. You will also discover how Hopac can accelerate Freya, enabling it to handle large numbers of requests simultaneously, resulting in better throughput and efficiency.

About the speaker...

Marcus Griep is a software engineer for Vistaprint. Marcus is a frequent contributor to the open source community who has taken a recent interest in F# in specific and functional programming in general. Besides working with software, Marcus officiates American football and is a contributor to the Football Zebras site. When not working with code or on the field, Marcus tries to make time for photography and board games with his family.

A Gazillion Ways to Test with F# - Audience Level: Beginner
Kit Eason

Watch now!

Automated testing can be a pain - or a joy! In this talk, you will explore the multitude of technologies and techniques that F#, .NET and Mono developers can use to move the needle in the joyful direction. You will discover basic unit testing with NUnit. Following that, you will take it to the next level of test case generation using FSCheck.

Along the way, you will learn how best to run tests in Visual Studio (using NCrunch). You will explore Canopy, a glorious way to run automated Web UI tests.

Packed with visual examples and live coding - plus a little gentle trolling of industry experts - this talk will transform your attitude to automated testing.

About the speaker...

Kit Eason is a highly experienced developer, working in industries from automotive engineering to energy trading. Kit is a Lynda.com/LinkedIn and PluralSight author. He's written software in F# for purposes as diverse as Pension Scheme Valuation, Movie VFX Costing, and Commodities Trading. An F# algorithm he dashed off for a conference demo became part of the UK national energy infrastructure. He talks about F# to whoever will listen.

You live in a time when it's never been easier to write distributed systems capable of running across hundreds or potentially thousands of machines in the cloud. For many people, however, the goto solutions all lie on the JVM but the CLR and F# has a secret weapon in the form of MBrace. In this talk, you will discover how MBrace fits into the distributed computing space and what features it offers above and beyond some of it's closest competitors. You'll also see how MBrace was used on a project, breaking down some aspects which went well and some aspects which could have gone better. Finally you'll see how MBrace is set to evolve through 2017 and some of the new features which are being brought to the platform.

About the speaker...

Anthony is a consultant at Compositional IT where he specialises in all things big data, distributed systems and IoT. He particularly enjoys working with F#, Azure, Akka.Net and MBrace. He's also the author of Reactive Applications with Akka.Net.

Puritas, from Latin, means linguistic correctness, from a lexical point of view.

In this talk, you will be exploring and walking down the bumpy road of trying to bring
side-effect free code to F#. The journey started, in Ramon's case, a few years ago
while working for an IT consultancy company where Ramon made: Delegate.Sandbox, a
library providing a Computation Expression named SandboxBuilder, sandbox {
return 42 }, which ensures that values returned from the computation are I/O
side-effects safe. The library is built-on top of .NETs Partially Trusted Code
Sandboxes. The path of exploration somehow stalled.

Now with new ideas under the hood and great tooling provided by Microsoft and
the amazing F# Community, the journey continues towards bringing this missed
feature to an already brilliant and loved programming language, that is used by
thousands in the magnitude of 4.

Hopefully one day, the reserved keyword: "pure" (The Holy Grail of F# keywords)
will be claimed, and we will be able to use it with ease as we do with other
keywords such as: seq, async, query, lazy and so on.

About the speaker...

Ramón Soto Mathiesen is a passionate computer scientist, with flair for business, that advocates for correctness, code-quality and high-standards but always with the customer in focus. He has been around for a while and have tried almost every position there is in IT. Starting as an IT-supporter back in 2000, to a System Administrator, a Web Developer, a Kernel Developer, a Consultant, a Software Architect, a CTO of a department and at the moment, a founder of an IT company. While in these positions, he has done a variety of task related to network, infrastructure, software development, consulting, teaching, technical leadership and probably the most important of them all: inspiring.

Aside from its famous conciseness, F# has a feature that lends itself extremely well to MVVM architecture: its lack of circular dependencies. With the right infrastructure for building visual components, it becomes very easy to create separate layers for models, views and presentation logic. In particular, you can create visual components with a tight fluent interface, leaving behind the repetitive hills and valleys of XAML and clunky-code behind.

About the speaker...

Rob trained as a mathematician and an actor. He started writing software during my PhD, following the well-trodden progression from Fortran through C and C++ to C#, discovering F# after a brief flirtation with Haskell. When he is not writing code, he trains in circus and springboard and platform diving. He is also writing a documentary on the Putney Debates of 1647.

Datatype generic programming refers to an assortment of techniques, libraries and language extensions used for defining programs that are parameterized by datatypes, or rather by shapes of datatypes. In this talk, you will explore TypeShape, a small library for generic programming with emphasis on practical application and extensibility. TypeShape takes advantage of F# active patterns and object expressions to concisely define extensive, generic programs. It is already being used in real-world libraries such as FsPickler and FSharp.AWS.DynamoDB.

Writing code in F# is actually easy. Once you get the basic constructs, you can start building stuff pretty fast. However, as with every new toy, you can get a bit carried away and forget to apply your common sense and knowledge. Without diving into advanced features, nor domain modelling, you will discover a set of techniques you can apply to keep your code more maintainable and easy to read, both for your colleagues and you future self.

About the speaker...

Pierre is a passionate software engineer. In his day-job he has participated in a wide range of projects on the Microsoft .NET platform, progressively moving from C# to F#. Off-duty, he's very fond of coding amazing useless things.

F# as a language has a number of features that tend to sound fantastically interesting - but practically useless. Computational expressions, type providers, active patterns, quotations... they're cool. But what are they good for? In this talk, you will whistle through a bunch of real life project solving real life problems in elegant, succinct ways using these "superpowers" of the F# language. Taking examples from open source code that you can dig into later at your leisure, you will discover these features being used to make life easier in ways large and small, some of which you should be able to go home and start making use of straight away

About the speaker...

Developer, Architect, Trainer, Consultant; Michael runs @mavnn ltd along with his wife, providing training and consultancy. If it relates to learning about or using anything that relates to .net, functional programming or build/infrastructure tooling we can probably help you.

He blogs at blog.mavnn.co.uk, including tutorials, thoughts on software design, and write ups of many of the training sessions.

He has not, unfortunately written any of the Mack Bolen the Executioner books, nor is he (fortunately) an expert in past life therapy. On the other hand, he is known to have a few interests outside of coding, including introducing his young son to the fine art of table top role playing and driving the sound desk at the local church.

Love it or Loathe it, testing is an unavoidable aspect of developing high-quality software. But there's a world of difference between well-tested code and simply writing tests. Very often, the difference boils down to how you assess the "correctness" of your code. By focusing on software as a mapping from inputs to outputs, property-based testing offers a powerful methodology for testing the logical invariants a piece of code should always uphold, regardless of implementation details.

During this session, you will explore a review of FsCheck, a powerful library for doing property-based testing and sophisticated data generation in the CLR ecosystem. In addition to the basic features of the library, you will learn about identifying common invariant patterns and building specifications from collections of properties. Time will also be spent exploring how FsCheck can be used to refine domain models and integrate with other popular testing tools. Finally, real-world examples will highlight both the strengths and weakness of this approach to software craftsmanship. While no prior knowledge is assumed, familiarity with the CLR (.NET or Mono) will be helpful.

About the speaker...

As a passionate – yet pragmatic – enthusiast of multi-paradigm and polyglot engineering, Paulmichael has spent the past 17 years blending a disparate array of languages, technologies, and methodologies to develop compelling solutions to a wide range of business problems. He especially enjoys solving challenges in distributed computing, visual communications, and heterogeneous enterprise systems. Paulmichael is a co-founder of NashF# (the Nashville F# Meetup) and a co-organizer of the New York City F# Users Group.He received Microsoft MVP Awards for his work in the .NET community in 2014, 2105, and 2016. When not at the keyboard, Paulmichael may be found globe-trotting with his wife and son (though his soul is still honky-tonkin' in Nashville, TN).

YOU WERE EATEN BY A GRUE - Audience Level: Advanced
Ross McKinlay

Watch now!

Thinking about the practical applications of immutable data, almost certainly the least useful and most ridiculous thing would be a processor itself - or indeed - an entire virtual computer!

In this talk, you will discover an entirely immutable F# implementation of a virtual machine, Infocom's legendary 1979 Z-Machine. A stroke of brilliance in a fast emerging new computer game scene, the Z-Machine was one of the first successful commercial applications of a virtual machine and rightfully took a spot as one of the big landmarks of computer game history.

In today's even faster moving world of technology and languages, you can still learn a few lessons from this dusty, mostly forgotten relic. Modern computing lingo would perhaps call the Z-Machine a "domain specific computer"™. A similar concept is still used today in large game engines, though this style of computing is mostly unknown and unfamiliar. Perhaps inspiration can be drawn from such a paradigm? At any rate, the idea of an immutable computer is completely ridiculous - or is it?

The author categorically denies that any squirrels and / or type providers were harmed during the development of this software and / or talk.

About the speaker...

Ross has been accidentally wiping hard drives and melting transistors into his fingers since he can remember. He has over 20 years programming experience in a wide variety of different languages and technologies, ranging from games and financial markets to fraud prevention and investigation. He has more recently been working on F# type providers. He loves squirrels, physics, electronics, robotics, functional programming, programming languages in general and squirrels.

Let's acknowledge it, Javascript has conquered the world. You've seen it on the web, on the server, on the desktop, on mobile... Everywhere! Like the language or not, the truth is JS developers have built an incredible ecosystem with libraries and tools to do almost anything. If you want to enjoy all these development opportunities, does it mean there's no choice but to deal with duck typing, cryptic equality rules and undefined everywhere?

No! Fable is an open source compiler that brings all the power of F# to the JS world: the functional paradigm, static typing with type inference, pattern matching, type providers and more. Together with a comprehensive library to handle collections, text and observables among others.

Fable doesn't add any runtime overhead and generates clean JS code in conformance with new ES6 patterns, like modules or iterables, making it compatible with modern development tools, including Github Electron or React Native to let you develop not only web, but also cross platform desktop and mobile apps.

In its short life Fable already has several projects in production like the amazing thegamma.net, and is very close to 1.0 release. In this talk you will learn about the coolest and newest features of Fable and the vast number of possibilities it opens for F# developers.

About the speaker...

A linguist by heart and a programmer by choice, Alfonso has brought his passion for natural languages to the computing world. He is the creator of Fable, a popular F# to JS compiler, and coauthor of the book "Mastering F#". He currently works as a freelancer specialized in Azure-based cloud and web applications using F# and Fable for high productive and reliable software development.

About the speaker...

Don Syme is a Principal Researcher at Microsoft Mobile Tools and 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. He has also worked on the design of virtual machines and the C# language, being co-responsible for C# and .NET generics, and the design of language-integrated asynchronous programming in F# and C#.

Out of the box, property-based testing is a very effective tool for finding edge case failure modes. Even a fairly naive test will quickly find _if_ there is a problem. Through the effective use of types, a property-based test can also tell you a lot about what the actual problem might be. This greatly speeds up debugging if regressions are introduced, but it can also give insight into a system that is less deterministic, such as where a fault may be caused by hardware.

In this talk, you will explore an example of using property-based tests in F# to detect bit errors caused by "sticky-bits" in hardware. You will learn more specific types which will make the nature of the hardware error more apparent. With these more targeted types, you will then discover how custom shrink operations can quickly identify the exact error. With the test framework in place, you will learn how to use it to identify other non-sticky-bit hardware errors.

Dale used to do chip design, including an ECC SDRAM controller, where he encountered sticky-bit issues in real life. He then worked as a Linux kernel programmer and often lamented the difficulty in testing kernel code. As Dale has moved up the abstraction ladder and now works primarily in FP, he thought it would be nice to blend all of these together. Hopefully it might inspire you and more to leverage higher-level techniques when dealing with low-level projects.

During this talk, you will explore a small project which Fahd has been working on, that allows compile-time constraint on F# base types.

The idea for this project originated from writing a DSL for CSS in F#; Fahd wanted to have constraint on certain properties but at compile-time. This endeavour was inspired by a project, which had, to Fahd, a limitation related to having constraint at run-time.
The project is quite new and can be found in this repository.

About the speaker...

Fahd is a Master student at Imperial College London, who has done his Master thesis on session types and their application over F#. New to the F# community and the language, he loves to speak and learn about it every day. Other than that, he loves spending his spare time learning about different theories and technologies, especially type theory and functional programming.

Join us for these awesome sessions! Please note the Level of Talks are classified loosely as a guideline for attendees.

State of F# within Microsoft’s Developer Division
Phillip Carter

Watch now!

Microsoft does quite a lot with F#. Microsoft builds and support compilers on .NET Framework and .NET Core, and also support F# running on Xamarin-flavored Mono. There is also the building and supporting of tools within the Visual Studio IDE, which is the primary way developers write code in F#. However, Microsoft is just one part of the larger F# ecosystem which is, to quote Don Syme, fully independent, cross-platform, open source, and multi-vendor. So, what’s up with Microsoft and F#?

In this (unfortunately not-too-technical) talk, you’ll learn about how F# is being invested in and viewed from within Microsoft’s Developer Division, the roadmap for F# tooling within Visual Studio, the importance of recent changes to the F# IDE tooling with respect to becoming a first-class citizen of Visual Studio, and the people who work on it.

About the speaker...

Phillip is a PM on the .NET team working on F# tooling, the F# language, F# documentation, Azure Functions tooling, and whatever else his little heart desires. He wishes he had more time to code, but that doesn't stop him from geeking out on all sorts of technical details with people on GitHub. Oh, and he's helping drive the future of .NET and its languages . . . or something like that.

Google’s Deep Dream images hit the headlines last year as the surreal and psychedelic images captured the public’s imagination. In this talk you will learn the surprisingly simple algorithm that is used to produce these images. You will discover how the “convolutional neural network” networks used to produce these images work and find out about the “model zoo” where ready trained neural networks can be found. You will explore more about the underlying structure of the neural network and how this affects the images generated. You will also learn about these models can used to classify images – a perhaps more practical application of this technology.

Storing history rather than current state, Event Sourcing is a radical technique to implement efficiently Domain Driven Design. But many stop before even trying, convinced of the difficulty to implement it.

During this workshop, you will learn how to implement Event Sourcing in F#. The functional approach leads to a simple, clear and production ready solution, and uncluttered domain code !

What's changed in the last two years after the announcement of .NET Core? Not only the .NET Core is a good runtime for cross platform development, but the tooling too evolved to create a nice developer experience.

You will explore the structure of a .NET Core app and library, using new fsproj
project, how to do common tasks like build, test, create nuget package, generate executables for other OS, and finally dockerize it.

In this session, you will discover the new features, like the .NETStandard abstraction (and why that
matters for .NET Framework development too) and what's useful for you.

Storing history rather than current state, Event Sourcing is a radical technique to implement efficiently Domain Driven Design. But many stop before even trying, convinced of the difficulty to implement it.

During this workshop, you will learn how to implement Event Sourcing in F#. The functional approach leads to a simple, clear and production ready solution, and uncluttered domain code !

"Divide et impera." Divide and rule. A sound strategy for any complex problem, be it in politics, warfare, or software engineering. But like so many maxims, this is easier said than done... Unless you have the right tools.

In this talk, you will explore ZeroMQ, a collection of exactly the sort of tools you will need to build robust distributed systems. In particular, you will discover the fundamental, language-agnostic concepts needed to scale out from threads to processes to machines. Several examples will demonstrate these concepts using two small open source libraries. Time will also be spent discussing related topics like: reliability, serialization, and community support. No prior knowledge is assumed, though familiarity with F# will certainly be helpful.

About the speaker...

As a passionate – yet pragmatic – enthusiast of multi-paradigm and polyglot engineering, Paulmichael has spent the past 17 years blending a disparate array of languages, technologies, and methodologies to develop compelling solutions to a wide range of business problems. He especially enjoys solving challenges in distributed computing, visual communications, and heterogeneous enterprise systems. Paulmichael is a co-founder of NashF# (the Nashville F# Meetup) and a co-organizer of the New York City F# Users Group.He received Microsoft MVP Awards for his work in the .NET community in 2014, 2105, and 2016. When not at the keyboard, Paulmichael may be found globe-trotting with his wife and son (though his soul is still honky-tonkin' in Nashville, TN).

This session will be a hands-on lab about F# as an efficient functional programming language combined with the Actor Model to develop highly concurrent applications. You will learn to build and deploy distributed systems and actor clustering by combining the power of Akka.Net, the flexibility of F# Remoting, and the simplicity of Docker containers. The combination of these technologies enhances the effects of F# “code-quotation”, which allows the deployment of arbitrary Actors into remote Actor-Systems. You will learn how to implement Actor Clustering leveraging Docker containers for easy deployment. Get ready to get your hands dirty using F# to write Event-Driven, Scalable, Resilient & Responsive Systems.

About the speaker...

Riccardo Terrell is a seasoned software engineer and Microsoft MVP who is passionate about functional programming. He is active in the .NET community and the author of "Functional Concurrency in .NET", which features how to develop highly-scalable systems in F# & C.

Riccardo believes in polyglot programming as a mechanism for finding the right tool for the job.

Traditionally, writing parsers has been hard, involving arcane tools like Lex and Yacc.
An alternative approach is to write a parser in your favourite programming language, using a "parser combinator" library and concepts no more complicated than regular expressions.

In this talk, you will explore a deep dive into parser combinators. You will learn how to build a parser combinator library from scratch in F# using functional programming techniques, and then use it to implement a full featured JSON parser.

This session will be a hands-on lab about F# as an efficient functional programming language combined with the Actor Model to develop highly concurrent applications. You will learn to build and deploy distributed systems and actor clustering by combining the power of Akka.Net, the flexibility of F# Remoting, and the simplicity of Docker containers. The combination of these technologies enhances the effects of F# “code-quotation”, which allows the deployment of arbitrary Actors into remote Actor-Systems. You will learn how to implement Actor Clustering leveraging Docker containers for easy deployment. Get ready to get your hands dirty using F# to write Event-Driven, Scalable, Resilient & Responsive Systems.

About the speaker...

Riccardo Terrell is a seasoned software engineer and Microsoft MVP who is passionate about functional programming. He is active in the .NET community and the author of "Functional Concurrency in .NET", which features how to develop highly-scalable systems in F# & C.

Riccardo believes in polyglot programming as a mechanism for finding the right tool for the job.

Playing nice together: how to use F# in a brownfield project - Audience Level: Beginner
Gien Verschatse

Watch now!

As is commonplace amongst many companies, the main code base is usually a C# monolith. Although there is a lot of domain knowledge captured in it, using C# wasn't always the best choice to solve domain problems. Upon discovering F#, it was a better fit for some of the features Gien and team were currently implementing in C#. However, rewriting everything at once in F# would be ineffective. The manual says C# and F# play nice together. This was then tried out, pushing it as far as possible.
In this talk, you will learn how Gien and team used F# in our existing C# monolith. You will explore the positive and negative effects of certain decisions, what can be done differently in the future and whether or not C# and F# do indeed play nice together.

About the speaker...

Gien is a software developer with 8 years of experience, mainly in a .NET environment. She is a strong believer of continuously learning by deliberate practice and knowledge sharing, which is why she takes part in the organization of two Belgian communities, namely DDDBE and SoCraTesBE.

F# added support for asynchronous workflows 10 years ago, so you would think that the problem of asynchronous programming should have been fixed by now. Yet, if you try to make sense of the different abstractions for asynchronous programming, it is easy to get lost! What is the difference between IObservable, IEvent, Async, Task and AsyncSeq? When should you use which of those and does it really matter?

In this talk, you will discover what lies under the cover of F# abstractions for asynchronous programming. You will learn how to implement the most important of them from scratch to understand how they actually work. As is often the case in F#, looking at the type definition is the best way to understand what is going on!

About the speaker...

Tomas is a computer scientist and open-source developer. He is a Visiting Researcher at the Alan Turing Institute working on tools for open data-driven storytelling. He wrote a popular book called "Real-World Functional Programming" and is a lead developer of several F# open-source libraries.

He is a partner at fsharpWorks where he provides trainings and consulting services. Tomas recently submitted his PhD thesis at the University of Cambridge focused on context-aware programming, but his most recent writings also includes two essays try to understand programming through the perspective of philosophy of science.

In this talk, you will learn how the above mentioned tools were used to implement a mobile data usage platform. A way has been found to use the tools that come out of the box with a Macbook, coupled with the great language that is F# to throw up a system in next to no time with Azure functions and a website with Fable to boot. All with a hardened CSharper in the team, and his bi-polar moments.

About the speaker...

Mark has been a passionate software engineer since 2002 and has worked for companies such as The AA,Volkswagen Financial Services and Compare the Market, to name but a few. He currently works for Housing Insight.

Mark discovered programming when he was 18 and taught himself web development and Java and then moved into the .NET world in 2003. He runs FSharp.TV as well as leading the Cambridge F# User Group and co-organises the Cambridge DDD Nights User Group; they both meet on a monthly basis.

His love of programming has given him the opportunity to experience various programming languages but he has happily settled on F# and is now a proud sustaining member of the F# Software Foundation.

During the talk, you will learn cross platform tooling novelties that are created by F# opensource community. You will also discover new features in Ionide and Forge, updates to FsharpLint, new way of testing with Expecto, and new TryFsharp webpage.

About the speaker...

Krzysztof is F# developer, open source contributor and active member of F# community. He is maintainer of several popular projects such as Ionide (F#, Paket and FAKE support in Atom and VS Code), F# yeoman generator. In his free time, he tries to spread love to F# and functional programming speaking on local user groups and conferences.

About the speaker...

Don Syme is a Principal Researcher at Microsoft Mobile Tools and 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. He has also worked on the design of virtual machines and the C# language, being co-responsible for C# and .NET generics, and the design of language-integrated asynchronous programming in F# and C#.

Alfonso Garcia-Caro shares his love and excitement for this years F# eXchange!

I've been programming F# for a bit more than two years now. From the very beginning
I felt very appealed by the power of the language, its tooling, the ecosystem and
the educational resources available. But it wasn't until I attended the F# eXchange
at Skills Matter in London and met Don Syme and other prominent members of the
absolutely incredible F# community when I really started feeling part of something big.
Now I've been honoured the opportunity of sharing a talk of my own at the upcoming F# eXchange which makes me very happy and also realize how welcoming and supporting the
F# community is.

My workshop will be about Fable, the F# to JS compiler I created to take advantage of
the new capabilities of two powerful code transformation tools: the F# compiler itself
and Babel, a project to manipulate JavaScript ASTs (Abstract Syntax Trees). Fable is a
lightweight compiler with the goal of integrating really well with the JS ecosystem.
Thanks to this, it's really easy to use any of the numerous JS development tools like
Webpack, React (including React Native to ) or Redux. This means you can still use all
the beloved F# features without any handicap compared to JS developers. As it's usually
said: Fable brings in the best of two worlds!

But the F# eXchange won't be only about frontend development. The possibilities
of F# go far beyond that and I'm really looking forward to learn from the best minds of the
F# community, like Evelina Gabasova, about Machine Learning, server
development, profiling and many other topics.

These are really exciting times for F#. Thanks to Mono, Xamarin, Websharper and the IDE support
in Emacs or recently in Atom and Visual Studio Code (with Ionide), F# was able to cross Windows'
boundaries long time ago. But it is now, with .NETCore and Fable when F# is finally becoming a
true cross-platform language.

Robert Pickering talks Deep Dream and F# Community Fun!

My talk will be about “Deep Dream”, which means using neural networks to generate art. Two of my biggest motivations in life are learning and aesthetics, so it's a subject that I find fascinating.

The reason deep dream images interest me so much is because of the way they often end up resembling impression / post-impression and psychedelic art work.

The link with psychedelic art is particularly interesting and leads me to think that in some ways the neural network models we are producing today are similar to the way our brain works. Deep dream works by enhancing parts of the image that the network recognizes - deliberately overfitting, to give the effect its technical term. This leads to images from the neural network’s training set appearing ghostlike in the original image. Psychedelic drugs are known to interfere with our “reality filter” - the parts of the brain responsible for stopping the overfitting occurring in our brain’s own image recognition circuitry. So if we are able to break neural network in the same way psychedelic drugs can break the brain, this offers a tantalizing hint that our models are on the right track.

I’ve always enjoyed speaking at Skills Matter conferences. The team at Skill Matter are really good at putting together an excellent mix of speakers and creating a friendly atmosphere. Without Skills Matter providing a meeting hub for programmers, I don’t think the London tech scene would be as advanced as it is today.

It’s always good fun to meet with the rest of the F# community. The community is comprised of programmers who are also philosophers, artist, rebels, mathematicians, thinkers. I think that because F# also appeals to people that don’t necessarily think of themselves as programmers this has helped increase the communities diversity. This makes for some very interesting and lively discussions with other community members.

Ramón Soto Mathiesen shares some love for the F# community prior to April's Fsharp eXchange!

I am pleased and honored to announce that I will be a speaker at this years F# eXchange 2017 conference.

It’s almost 3 years ago since I became acquainted with Skills Matter and the F# Community. I had spoken previously with Phillip Trelford because I have co-founded the F#unctional Copenhageners Meetup Group, which is like a sisterhood to F#unctional Londoners Meetup Group. In another case, due to work with Microsoft Dynamics CRM, I had come across Ross McKinlay (I still owe you some beers). Both were present at the Meetup.
When I arrived to the venue, I bumped into Don Syme at the door. I was really not expecting that. Rob Lyndon's talk started and I was amazed how this punk rocker, with a Mohawk, looking guy absolutely mastered coding GPU kernels type-safely in F#. It was pretty amazing.

After the Meetup, we all went over and had a beer (or many) at a near bar. This was great as it gave the possibility to meet many of the people who did incredible work for the Community. I specially noticed Tomas Petricek, due to the amazing tools that he has provided and which I have used have used professionally: F# Formatting, F# Data, among others.

Read more about Ramon's encounters with, and love for, other F# experts here.

Paulmichael Blasucci contemplates the awesomeness of F# eXchange '17!

I’m extremely pleased to be attending this year’s F# Exchange (6-7 April 2017) The program is very nearly finalized and the content looks amazing. In fact, this is shaping up to be one of those rare conferences where, no matter which sessions I choose to attend, I’m sure to be missing some fantastic presentations. Of course, it doesn’t hurt that I’ll get to catch up with friends both old and new. I’m also looking forward to finally meeting some “online friends” in real life. But I wanted to take this opportunity to highlight some of the topics on which I’ll be presenting…

Many people will tell you how cool the F# language is (and rightfully so). But it obviously takes more than just coolness to build great software. It takes high-quality tools. So, in April, I’ll be talking about two such tools:

Prior to sharing with the F# community at this years eXchange, Philip Carter reveals his favourite things about our F# friends!

I am excited to join F# eXchange where I will be talking about the state of F# from within Microsoft’s Developer Division. I work in the group responsible for the .NET Framework and .NET Core versions of the F# compiler and F# tooling in Visual Studio.

The best thing about being part of the F# community at F# eXchange is the ability to reach out to leaders in the F# community to spread a positive message about F#. We’re excited about the potential for F# to grow at Microsoft, and the first step towards growth is connecting with influencers in the F# community. I’m also looking forward to forging solid friendships with people from across the world.

I think the most exciting thing for the F# community over the next 12 months will be the quantum leap in tooling quality and support no matter what environment people try to write F# in. Visual Studio, Visual Studio for Mac, Visual Studio Code with Ionide, Command-line tools, Azure Notebooks, Azure Functions, and .NET Core are set to propel F# as we position it as the functional programming language for .NET. FABLE also presents a new dimension for building applications with web technologies in F#. I believe that we are on the cusp of something special here.

To find out more about Phillip's work, check out his Github page here!

I've been programming F# for 7 years now, from backend programming, calculation engines for finance, compiler and tooling work, and mobile development, I love it! My proudest moment is being awarded the F# Bad Ass award 'For services to the F# community in open source, cross-platform IDE, mobile and runtime tools.'

I am excited to join F# eXchange where I will be sharing my thoughts on…

- All of the amazing ways that you can now do mobile development with F# and some new tricks I developed while and after working at Xamarin.

The best thing about being part of the F# community at F# eXchange is…

- There are lots of different aspects of F# and I enjoy working down at the compiler level right through to making new tooling and building mobile applications. The diverse range of subject matter at F# eXchange means that there will be something available to all disipline's and skill levels.

At F# eXchange 2017, I most look forward to learning about...

- For me personally Im looking forward to Robert Pickerings Deep Dream and Ross McKinlay's YOU WERE EATEN BY A GRUE z-machine talk. I grew up with Infocom adventures so they definitely strike a chord with me.

My talk will be enjoyed by…

- Anyone that is interesting in the options available to mobile developers and how to get started in this growing area.

I think the most anticipated / exciting development for the F# community over the next 12 months will be…

- I think Fable offers some interesting opportunities in the future to both push the F# language to new and uncharted areas and also to offer experimentation in functional programming on the JavaScript platform.

CodeNode

In August 2015, Skills Matter opened the doors to CodeNode, our new 23,000 sqft Tech Events and Community venue. CodeNode provides fantastic meetup, conference, training and collaboration spaces with unrivalled technology capabilities for our tech, digital and developer communities - a long held dream coming true !

With fantastic transport links and located in the heart of London's Tech City, we could not think of a better location for our 60,000 strong engineering community!

With seven event rooms, including a 300 seater lecture room, thousands more community members will be able to visit CodeNode to learn and share skills, code and collaborate on projects.

CodeNode features a 5,000 sqft break-out space, complete with fully-licensed bar, plenty of power sockets, meeting and collaboration spaces and entertainment areas.

CodeNode will also see the opening of a permanent Hack Space, stacked with microprocessors and the latest tools and devices to play with. A community film studio will be opening too, which you can use to record any tutorials or demo's you may want to share with our community.

If you're interested in hiring CodeNode for your upcoming event, check out more details here.

Blogs

Don't miss these Special Moments with the experts from #FsharpX 2017!

Don't miss the 2018 edition with more to learn from the leading experts in the F# field!

Skills Matter's community conferences are made possible thanks to the generous support of our amazing sponsors, who help us keep tickets affordable, organise great talks and are keen to meet you at their booths, to share their projects, tools and frameworks with you.

To learn more about our sponsors, click on their logo!

If you or your company would like to sponsor the F# eXchange 2017, contact us or check out this year's Sponsor packages below.

Available Packages

64-BIT SPONSORSHIP

Engage with 125 passionate and highly experienced members of our F# community at the F# eXchange 2017! Show off your team, projects, tools or devices at your #fsharpex conference booth!

Engagement Benefits

Two items (leaflet, device, pen or notepad) included in all the F# eXchange 2017 swag bags

3 free tickets to the conference which you can gift to your clients, your engineering team or members of Computing At School (teachers learning computing to teach the new National Computing Curriculum).

Engagement Benefits

2 free tickets to the conference which you can gift to your clients, your engineering team or members of Computing At School (teachers learning computing to teach the new National Computing Curriculum).

16-BIT SPONSORSHIP

Brand Visibility Benefits

Your logo (small) on the F# eXchange 2017 web pages;

Your own dedicated partner page on skillsmatter.com;

Your logo (small) on all in-venue conference banners.

T-SHIRT SPONSORSHIP

Be remembered! Have your logo printed on the F# eXchange t-shirts, provided to all conference attendees, speakers and sponsors attending this year.

Brand Visibility Benefits

Your logo on all F# eXchange t-shirts

Exclusive to two t-shirt sponsors only!

SPONSOR THE F# EXCHANGE 2017 PARTY!

Be remembered by all conference attendees, speakers and sponsors attending the party this year! Have your logo printed on the F# eXchange Party beer mats and on highly visible party posters and pop-up banners, which are bound to feature in lots of pictures this year.

Brand Visibility Benefits

Your logo displayed on the F# eXchange 2017 Party beer mats and on table pop-up banners;

Five free tickets to the F# eXchange 2017 Party, which you can gift to your clients and team members;

Thanks to our sponsors

During the talk, you will learn cross platform tooling novelties that are created by F# opensource community. You will also discover new features in Ionide and Forge, updates to FsharpLint, new way of testing with Expecto, and new TryFsharp webpage.

In this talk, you will learn how the above mentioned tools were used to implement a mobile data usage platform. A way has been found to use the tools that come out of the box with a Macbook, coupled with the great language that is F# to throw up a system in next to no time with Azure functions...

"Divide et impera." Divide and rule. A sound strategy for any complex problem, be it in politics, warfare, or software engineering. But like so many maxims, this is easier said than done... Unless you have the right tools.

As is commonplace amongst many companies, the main code base is usually a C# monolith. Although there is a lot of domain knowledge captured in it, using C# wasn't always the best choice to solve domain problems. Upon discovering F#, it was a better fit for some of the features Gien and team...

F# as a language has a number of features that tend to sound fantastically interesting - but practically useless. Computational expressions, type providers, active patterns, quotations... they're cool. But what are they good for? In this talk, you will whistle through a bunch of real life...

Writing code in F# is actually easy. Once you get the basic constructs, you can start building stuff pretty fast. However, as with every new toy, you can get a bit carried away and forget to apply your common sense and knowledge. Without diving into advanced features, nor domain modelling, you...

Automated testing can be a pain - or a joy! In this talk, you will explore the multitude of technologies and techniques that F#, .NET and Mono developers can use to move the needle in the joyful direction. You will discover basic unit testing with NUnit. Following that, you will take it to the...

Let's acknowledge it, Javascript has conquered the world. You've seen it on the web, on the server, on the desktop, on mobile... Everywhere! Like the language or not, the truth is JS developers have built an incredible ecosystem with libraries and tools to do almost anything. If you want...

When you’re stuck while programming - who you gonna call? StackOverflow! It’s an invaluable source of daily help to many. Interestingly, you can also download the entire data dump of StackOverflow and let machine learning loose on the dataset. In this talk, you will discover what you can learn...

Love it or Loathe it, testing is an unavoidable aspect of developing high-quality software. But there's a world of difference between well-tested code and simply writing tests. Very often, the difference boils down to how you assess the "correctness" of your code. By focusing on...

Aside from its famous conciseness, F# has a feature that lends itself extremely well to MVVM architecture: its lack of circular dependencies. With the right infrastructure for building visual components, it becomes very easy to create separate layers for models, views and presentation logic. In...

Out of the box, property-based testing is a very effective tool for finding edge case failure modes. Even a fairly naive test will quickly find if there is a problem. Through the effective use of types, a property-based test can also tell you a lot about what the actual problem might be. This...

Microsoft does quite a lot with F#. Microsoft builds and support compilers on .NET Framework and .NET Core, and also support F# running on Xamarin-flavored Mono. There is also the building and supporting of tools within the Visual Studio IDE, which is the primary way developers write code in F#....

You live in a time when it's never been easier to write distributed systems capable of running across hundreds or potentially thousands of machines in the cloud. For many people, however, the goto solutions all lie on the JVM but the CLR and F# has a secret weapon in the form of MBrace. In...

Google’s Deep Dream images hit the headlines last year as the surreal and psychedelic images captured the public’s imagination. In this talk you will learn the surprisingly simple algorithm that is used to produce these images. You will discover how the “convolutional neural network” networks...

F# added support for asynchronous workflows 10 years ago, so you would think that the problem of asynchronous programming should have been fixed by now. Yet, if you try to make sense of the different abstractions for asynchronous programming, it is easy to get lost! What is the difference between...

What's changed in the last two years after the announcement of .NET Core? Not only the .NET Core is a good runtime for cross platform development, but the tooling too evolved to create a nice developer experience.

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...

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?

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...

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?

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?

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.

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 and join us at the F# eXchange in London: meet the international F# community and bring your skills to the next level with some of the world's top experts!

Join us at the F# eXchange London on April 6th and 7th 2017!

NEWS! F# eXchange and Progressive F# Tutorials join forces and become F# eXchange 2017! With a new 2-day format of talks and workshops, there's even more to learn and share! Join us on April 6th and 7th 2017 at CodeNode!

The F# eXchange returns to London for its third instalment this 6-7 April 2017, with a new, 2-day format mixing talks and hands-on workshops. Hosted in the heart of London at CodeNode, we look forward to another intensive couple of days of unadulterated fsharpery, with some of the biggest F# names world-wide: the creator of F#, Don Syme himself, Philip Carter, Visual F# project manager, multiple F# MVPs from all over the world (Paul Blasucci, Evelina Gabasova, Dave Thomas, Enrico Sada, Riccardo Terrell, Tomas Petricek, Robert Pickering, Krzysztof Cieślak), Scott Wlaschin, of F# for Fun and Profit fame, and creators of popular libraries Alfonso Garcia (Fable) and Eirik Tsarpalis (MBrace).Follow us at #FSharpX to hear all the latest news.

When you’re stuck while programming - who you gonna call? StackOverflow! It’s an invaluable source of daily help to many. Interestingly, you can also download the entire data dump of StackOverflow and let machine learning loose on the dataset. In this talk, you will discover what you can learn from the behaviour of developers worldwide. The dataset can give you answers to many questions - where should you move to find most F#-ers? And is F# used just for hobby projects? You will explore how to answer these - and in the meanwhile you will also learn about ideas behind some machine learning algorithms that can give you insights into complex data. You will discover a combination of functional language F# with statistical computing language R to show how you can easily access and process real-world data the functional way.

About the speaker...

Evelina is a machine learning researcher working in bioinformatics, trying to reverse-engineer cancer at University of Cambridge. When not at work, she likes to play with fun datasets to extract interesting insights.

Evelina is a big fan of F# and uses it frequently for data manipulation and exploratory analysis in her research. Outside of academia, she also speaks at developer conferences and user groups about using F# for data science. She writes a blog at http://www.evelinag.com.

What do you get when you combine Kestrel on .NET Core with Freya powered by Hopac? A highly concurrent, fully functional, and standards compliant web server ready to handle extreme loads.

In this talk, you will explore Freya and how its machine and router concepts make building a web service that can handle authentication, caching constructs, and more without requiring you to become fluent in the HTTP RFCs. You will also discover how Hopac can accelerate Freya, enabling it to handle large numbers of requests simultaneously, resulting in better throughput and efficiency.

About the speaker...

Marcus Griep is a software engineer for Vistaprint. Marcus is a frequent contributor to the open source community who has taken a recent interest in F# in specific and functional programming in general. Besides working with software, Marcus officiates American football and is a contributor to the Football Zebras site. When not working with code or on the field, Marcus tries to make time for photography and board games with his family.

A Gazillion Ways to Test with F# - Audience Level: Beginner
Kit Eason

Watch now!

Automated testing can be a pain - or a joy! In this talk, you will explore the multitude of technologies and techniques that F#, .NET and Mono developers can use to move the needle in the joyful direction. You will discover basic unit testing with NUnit. Following that, you will take it to the next level of test case generation using FSCheck.

Along the way, you will learn how best to run tests in Visual Studio (using NCrunch). You will explore Canopy, a glorious way to run automated Web UI tests.

Packed with visual examples and live coding - plus a little gentle trolling of industry experts - this talk will transform your attitude to automated testing.

About the speaker...

Kit Eason is a highly experienced developer, working in industries from automotive engineering to energy trading. Kit is a Lynda.com/LinkedIn and PluralSight author. He's written software in F# for purposes as diverse as Pension Scheme Valuation, Movie VFX Costing, and Commodities Trading. An F# algorithm he dashed off for a conference demo became part of the UK national energy infrastructure. He talks about F# to whoever will listen.

You live in a time when it's never been easier to write distributed systems capable of running across hundreds or potentially thousands of machines in the cloud. For many people, however, the goto solutions all lie on the JVM but the CLR and F# has a secret weapon in the form of MBrace. In this talk, you will discover how MBrace fits into the distributed computing space and what features it offers above and beyond some of it's closest competitors. You'll also see how MBrace was used on a project, breaking down some aspects which went well and some aspects which could have gone better. Finally you'll see how MBrace is set to evolve through 2017 and some of the new features which are being brought to the platform.

About the speaker...

Anthony is a consultant at Compositional IT where he specialises in all things big data, distributed systems and IoT. He particularly enjoys working with F#, Azure, Akka.Net and MBrace. He's also the author of Reactive Applications with Akka.Net.

Puritas, from Latin, means linguistic correctness, from a lexical point of view.

In this talk, you will be exploring and walking down the bumpy road of trying to bring
side-effect free code to F#. The journey started, in Ramon's case, a few years ago
while working for an IT consultancy company where Ramon made: Delegate.Sandbox, a
library providing a Computation Expression named SandboxBuilder, sandbox {
return 42 }, which ensures that values returned from the computation are I/O
side-effects safe. The library is built-on top of .NETs Partially Trusted Code
Sandboxes. The path of exploration somehow stalled.

Now with new ideas under the hood and great tooling provided by Microsoft and
the amazing F# Community, the journey continues towards bringing this missed
feature to an already brilliant and loved programming language, that is used by
thousands in the magnitude of 4.

Hopefully one day, the reserved keyword: "pure" (The Holy Grail of F# keywords)
will be claimed, and we will be able to use it with ease as we do with other
keywords such as: seq, async, query, lazy and so on.

About the speaker...

Ramón Soto Mathiesen is a passionate computer scientist, with flair for business, that advocates for correctness, code-quality and high-standards but always with the customer in focus. He has been around for a while and have tried almost every position there is in IT. Starting as an IT-supporter back in 2000, to a System Administrator, a Web Developer, a Kernel Developer, a Consultant, a Software Architect, a CTO of a department and at the moment, a founder of an IT company. While in these positions, he has done a variety of task related to network, infrastructure, software development, consulting, teaching, technical leadership and probably the most important of them all: inspiring.

Aside from its famous conciseness, F# has a feature that lends itself extremely well to MVVM architecture: its lack of circular dependencies. With the right infrastructure for building visual components, it becomes very easy to create separate layers for models, views and presentation logic. In particular, you can create visual components with a tight fluent interface, leaving behind the repetitive hills and valleys of XAML and clunky-code behind.

About the speaker...

Rob trained as a mathematician and an actor. He started writing software during my PhD, following the well-trodden progression from Fortran through C and C++ to C#, discovering F# after a brief flirtation with Haskell. When he is not writing code, he trains in circus and springboard and platform diving. He is also writing a documentary on the Putney Debates of 1647.

Datatype generic programming refers to an assortment of techniques, libraries and language extensions used for defining programs that are parameterized by datatypes, or rather by shapes of datatypes. In this talk, you will explore TypeShape, a small library for generic programming with emphasis on practical application and extensibility. TypeShape takes advantage of F# active patterns and object expressions to concisely define extensive, generic programs. It is already being used in real-world libraries such as FsPickler and FSharp.AWS.DynamoDB.

Writing code in F# is actually easy. Once you get the basic constructs, you can start building stuff pretty fast. However, as with every new toy, you can get a bit carried away and forget to apply your common sense and knowledge. Without diving into advanced features, nor domain modelling, you will discover a set of techniques you can apply to keep your code more maintainable and easy to read, both for your colleagues and you future self.

About the speaker...

Pierre is a passionate software engineer. In his day-job he has participated in a wide range of projects on the Microsoft .NET platform, progressively moving from C# to F#. Off-duty, he's very fond of coding amazing useless things.

F# as a language has a number of features that tend to sound fantastically interesting - but practically useless. Computational expressions, type providers, active patterns, quotations... they're cool. But what are they good for? In this talk, you will whistle through a bunch of real life project solving real life problems in elegant, succinct ways using these "superpowers" of the F# language. Taking examples from open source code that you can dig into later at your leisure, you will discover these features being used to make life easier in ways large and small, some of which you should be able to go home and start making use of straight away

About the speaker...

Developer, Architect, Trainer, Consultant; Michael runs @mavnn ltd along with his wife, providing training and consultancy. If it relates to learning about or using anything that relates to .net, functional programming or build/infrastructure tooling we can probably help you.

He blogs at blog.mavnn.co.uk, including tutorials, thoughts on software design, and write ups of many of the training sessions.

He has not, unfortunately written any of the Mack Bolen the Executioner books, nor is he (fortunately) an expert in past life therapy. On the other hand, he is known to have a few interests outside of coding, including introducing his young son to the fine art of table top role playing and driving the sound desk at the local church.

Love it or Loathe it, testing is an unavoidable aspect of developing high-quality software. But there's a world of difference between well-tested code and simply writing tests. Very often, the difference boils down to how you assess the "correctness" of your code. By focusing on software as a mapping from inputs to outputs, property-based testing offers a powerful methodology for testing the logical invariants a piece of code should always uphold, regardless of implementation details.

During this session, you will explore a review of FsCheck, a powerful library for doing property-based testing and sophisticated data generation in the CLR ecosystem. In addition to the basic features of the library, you will learn about identifying common invariant patterns and building specifications from collections of properties. Time will also be spent exploring how FsCheck can be used to refine domain models and integrate with other popular testing tools. Finally, real-world examples will highlight both the strengths and weakness of this approach to software craftsmanship. While no prior knowledge is assumed, familiarity with the CLR (.NET or Mono) will be helpful.

About the speaker...

As a passionate – yet pragmatic – enthusiast of multi-paradigm and polyglot engineering, Paulmichael has spent the past 17 years blending a disparate array of languages, technologies, and methodologies to develop compelling solutions to a wide range of business problems. He especially enjoys solving challenges in distributed computing, visual communications, and heterogeneous enterprise systems. Paulmichael is a co-founder of NashF# (the Nashville F# Meetup) and a co-organizer of the New York City F# Users Group.He received Microsoft MVP Awards for his work in the .NET community in 2014, 2105, and 2016. When not at the keyboard, Paulmichael may be found globe-trotting with his wife and son (though his soul is still honky-tonkin' in Nashville, TN).

YOU WERE EATEN BY A GRUE - Audience Level: Advanced
Ross McKinlay

Watch now!

Thinking about the practical applications of immutable data, almost certainly the least useful and most ridiculous thing would be a processor itself - or indeed - an entire virtual computer!

In this talk, you will discover an entirely immutable F# implementation of a virtual machine, Infocom's legendary 1979 Z-Machine. A stroke of brilliance in a fast emerging new computer game scene, the Z-Machine was one of the first successful commercial applications of a virtual machine and rightfully took a spot as one of the big landmarks of computer game history.

In today's even faster moving world of technology and languages, you can still learn a few lessons from this dusty, mostly forgotten relic. Modern computing lingo would perhaps call the Z-Machine a "domain specific computer"™. A similar concept is still used today in large game engines, though this style of computing is mostly unknown and unfamiliar. Perhaps inspiration can be drawn from such a paradigm? At any rate, the idea of an immutable computer is completely ridiculous - or is it?

The author categorically denies that any squirrels and / or type providers were harmed during the development of this software and / or talk.

About the speaker...

Ross has been accidentally wiping hard drives and melting transistors into his fingers since he can remember. He has over 20 years programming experience in a wide variety of different languages and technologies, ranging from games and financial markets to fraud prevention and investigation. He has more recently been working on F# type providers. He loves squirrels, physics, electronics, robotics, functional programming, programming languages in general and squirrels.

Let's acknowledge it, Javascript has conquered the world. You've seen it on the web, on the server, on the desktop, on mobile... Everywhere! Like the language or not, the truth is JS developers have built an incredible ecosystem with libraries and tools to do almost anything. If you want to enjoy all these development opportunities, does it mean there's no choice but to deal with duck typing, cryptic equality rules and undefined everywhere?

No! Fable is an open source compiler that brings all the power of F# to the JS world: the functional paradigm, static typing with type inference, pattern matching, type providers and more. Together with a comprehensive library to handle collections, text and observables among others.

Fable doesn't add any runtime overhead and generates clean JS code in conformance with new ES6 patterns, like modules or iterables, making it compatible with modern development tools, including Github Electron or React Native to let you develop not only web, but also cross platform desktop and mobile apps.

In its short life Fable already has several projects in production like the amazing thegamma.net, and is very close to 1.0 release. In this talk you will learn about the coolest and newest features of Fable and the vast number of possibilities it opens for F# developers.

About the speaker...

A linguist by heart and a programmer by choice, Alfonso has brought his passion for natural languages to the computing world. He is the creator of Fable, a popular F# to JS compiler, and coauthor of the book "Mastering F#". He currently works as a freelancer specialized in Azure-based cloud and web applications using F# and Fable for high productive and reliable software development.

About the speaker...

Don Syme is a Principal Researcher at Microsoft Mobile Tools and 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. He has also worked on the design of virtual machines and the C# language, being co-responsible for C# and .NET generics, and the design of language-integrated asynchronous programming in F# and C#.

Out of the box, property-based testing is a very effective tool for finding edge case failure modes. Even a fairly naive test will quickly find _if_ there is a problem. Through the effective use of types, a property-based test can also tell you a lot about what the actual problem might be. This greatly speeds up debugging if regressions are introduced, but it can also give insight into a system that is less deterministic, such as where a fault may be caused by hardware.

In this talk, you will explore an example of using property-based tests in F# to detect bit errors caused by "sticky-bits" in hardware. You will learn more specific types which will make the nature of the hardware error more apparent. With these more targeted types, you will then discover how custom shrink operations can quickly identify the exact error. With the test framework in place, you will learn how to use it to identify other non-sticky-bit hardware errors.

Dale used to do chip design, including an ECC SDRAM controller, where he encountered sticky-bit issues in real life. He then worked as a Linux kernel programmer and often lamented the difficulty in testing kernel code. As Dale has moved up the abstraction ladder and now works primarily in FP, he thought it would be nice to blend all of these together. Hopefully it might inspire you and more to leverage higher-level techniques when dealing with low-level projects.

During this talk, you will explore a small project which Fahd has been working on, that allows compile-time constraint on F# base types.

The idea for this project originated from writing a DSL for CSS in F#; Fahd wanted to have constraint on certain properties but at compile-time. This endeavour was inspired by a project, which had, to Fahd, a limitation related to having constraint at run-time.
The project is quite new and can be found in this repository.

About the speaker...

Fahd is a Master student at Imperial College London, who has done his Master thesis on session types and their application over F#. New to the F# community and the language, he loves to speak and learn about it every day. Other than that, he loves spending his spare time learning about different theories and technologies, especially type theory and functional programming.

Join us for these awesome sessions! Please note the Level of Talks are classified loosely as a guideline for attendees.

State of F# within Microsoft’s Developer Division
Phillip Carter

Watch now!

Microsoft does quite a lot with F#. Microsoft builds and support compilers on .NET Framework and .NET Core, and also support F# running on Xamarin-flavored Mono. There is also the building and supporting of tools within the Visual Studio IDE, which is the primary way developers write code in F#. However, Microsoft is just one part of the larger F# ecosystem which is, to quote Don Syme, fully independent, cross-platform, open source, and multi-vendor. So, what’s up with Microsoft and F#?

In this (unfortunately not-too-technical) talk, you’ll learn about how F# is being invested in and viewed from within Microsoft’s Developer Division, the roadmap for F# tooling within Visual Studio, the importance of recent changes to the F# IDE tooling with respect to becoming a first-class citizen of Visual Studio, and the people who work on it.

About the speaker...

Phillip is a PM on the .NET team working on F# tooling, the F# language, F# documentation, Azure Functions tooling, and whatever else his little heart desires. He wishes he had more time to code, but that doesn't stop him from geeking out on all sorts of technical details with people on GitHub. Oh, and he's helping drive the future of .NET and its languages . . . or something like that.

Google’s Deep Dream images hit the headlines last year as the surreal and psychedelic images captured the public’s imagination. In this talk you will learn the surprisingly simple algorithm that is used to produce these images. You will discover how the “convolutional neural network” networks used to produce these images work and find out about the “model zoo” where ready trained neural networks can be found. You will explore more about the underlying structure of the neural network and how this affects the images generated. You will also learn about these models can used to classify images – a perhaps more practical application of this technology.

Storing history rather than current state, Event Sourcing is a radical technique to implement efficiently Domain Driven Design. But many stop before even trying, convinced of the difficulty to implement it.

During this workshop, you will learn how to implement Event Sourcing in F#. The functional approach leads to a simple, clear and production ready solution, and uncluttered domain code !

What's changed in the last two years after the announcement of .NET Core? Not only the .NET Core is a good runtime for cross platform development, but the tooling too evolved to create a nice developer experience.

You will explore the structure of a .NET Core app and library, using new fsproj
project, how to do common tasks like build, test, create nuget package, generate executables for other OS, and finally dockerize it.

In this session, you will discover the new features, like the .NETStandard abstraction (and why that
matters for .NET Framework development too) and what's useful for you.

Storing history rather than current state, Event Sourcing is a radical technique to implement efficiently Domain Driven Design. But many stop before even trying, convinced of the difficulty to implement it.

During this workshop, you will learn how to implement Event Sourcing in F#. The functional approach leads to a simple, clear and production ready solution, and uncluttered domain code !

"Divide et impera." Divide and rule. A sound strategy for any complex problem, be it in politics, warfare, or software engineering. But like so many maxims, this is easier said than done... Unless you have the right tools.

In this talk, you will explore ZeroMQ, a collection of exactly the sort of tools you will need to build robust distributed systems. In particular, you will discover the fundamental, language-agnostic concepts needed to scale out from threads to processes to machines. Several examples will demonstrate these concepts using two small open source libraries. Time will also be spent discussing related topics like: reliability, serialization, and community support. No prior knowledge is assumed, though familiarity with F# will certainly be helpful.

About the speaker...

As a passionate – yet pragmatic – enthusiast of multi-paradigm and polyglot engineering, Paulmichael has spent the past 17 years blending a disparate array of languages, technologies, and methodologies to develop compelling solutions to a wide range of business problems. He especially enjoys solving challenges in distributed computing, visual communications, and heterogeneous enterprise systems. Paulmichael is a co-founder of NashF# (the Nashville F# Meetup) and a co-organizer of the New York City F# Users Group.He received Microsoft MVP Awards for his work in the .NET community in 2014, 2105, and 2016. When not at the keyboard, Paulmichael may be found globe-trotting with his wife and son (though his soul is still honky-tonkin' in Nashville, TN).

This session will be a hands-on lab about F# as an efficient functional programming language combined with the Actor Model to develop highly concurrent applications. You will learn to build and deploy distributed systems and actor clustering by combining the power of Akka.Net, the flexibility of F# Remoting, and the simplicity of Docker containers. The combination of these technologies enhances the effects of F# “code-quotation”, which allows the deployment of arbitrary Actors into remote Actor-Systems. You will learn how to implement Actor Clustering leveraging Docker containers for easy deployment. Get ready to get your hands dirty using F# to write Event-Driven, Scalable, Resilient & Responsive Systems.

About the speaker...

Riccardo Terrell is a seasoned software engineer and Microsoft MVP who is passionate about functional programming. He is active in the .NET community and the author of "Functional Concurrency in .NET", which features how to develop highly-scalable systems in F# & C.

Riccardo believes in polyglot programming as a mechanism for finding the right tool for the job.

Traditionally, writing parsers has been hard, involving arcane tools like Lex and Yacc.
An alternative approach is to write a parser in your favourite programming language, using a "parser combinator" library and concepts no more complicated than regular expressions.

In this talk, you will explore a deep dive into parser combinators. You will learn how to build a parser combinator library from scratch in F# using functional programming techniques, and then use it to implement a full featured JSON parser.

This session will be a hands-on lab about F# as an efficient functional programming language combined with the Actor Model to develop highly concurrent applications. You will learn to build and deploy distributed systems and actor clustering by combining the power of Akka.Net, the flexibility of F# Remoting, and the simplicity of Docker containers. The combination of these technologies enhances the effects of F# “code-quotation”, which allows the deployment of arbitrary Actors into remote Actor-Systems. You will learn how to implement Actor Clustering leveraging Docker containers for easy deployment. Get ready to get your hands dirty using F# to write Event-Driven, Scalable, Resilient & Responsive Systems.

About the speaker...

Riccardo Terrell is a seasoned software engineer and Microsoft MVP who is passionate about functional programming. He is active in the .NET community and the author of "Functional Concurrency in .NET", which features how to develop highly-scalable systems in F# & C.

Riccardo believes in polyglot programming as a mechanism for finding the right tool for the job.

Playing nice together: how to use F# in a brownfield project - Audience Level: Beginner
Gien Verschatse

Watch now!

As is commonplace amongst many companies, the main code base is usually a C# monolith. Although there is a lot of domain knowledge captured in it, using C# wasn't always the best choice to solve domain problems. Upon discovering F#, it was a better fit for some of the features Gien and team were currently implementing in C#. However, rewriting everything at once in F# would be ineffective. The manual says C# and F# play nice together. This was then tried out, pushing it as far as possible.
In this talk, you will learn how Gien and team used F# in our existing C# monolith. You will explore the positive and negative effects of certain decisions, what can be done differently in the future and whether or not C# and F# do indeed play nice together.

About the speaker...

Gien is a software developer with 8 years of experience, mainly in a .NET environment. She is a strong believer of continuously learning by deliberate practice and knowledge sharing, which is why she takes part in the organization of two Belgian communities, namely DDDBE and SoCraTesBE.

F# added support for asynchronous workflows 10 years ago, so you would think that the problem of asynchronous programming should have been fixed by now. Yet, if you try to make sense of the different abstractions for asynchronous programming, it is easy to get lost! What is the difference between IObservable, IEvent, Async, Task and AsyncSeq? When should you use which of those and does it really matter?

In this talk, you will discover what lies under the cover of F# abstractions for asynchronous programming. You will learn how to implement the most important of them from scratch to understand how they actually work. As is often the case in F#, looking at the type definition is the best way to understand what is going on!

About the speaker...

Tomas is a computer scientist and open-source developer. He is a Visiting Researcher at the Alan Turing Institute working on tools for open data-driven storytelling. He wrote a popular book called "Real-World Functional Programming" and is a lead developer of several F# open-source libraries.

He is a partner at fsharpWorks where he provides trainings and consulting services. Tomas recently submitted his PhD thesis at the University of Cambridge focused on context-aware programming, but his most recent writings also includes two essays try to understand programming through the perspective of philosophy of science.

In this talk, you will learn how the above mentioned tools were used to implement a mobile data usage platform. A way has been found to use the tools that come out of the box with a Macbook, coupled with the great language that is F# to throw up a system in next to no time with Azure functions and a website with Fable to boot. All with a hardened CSharper in the team, and his bi-polar moments.

About the speaker...

Mark has been a passionate software engineer since 2002 and has worked for companies such as The AA,Volkswagen Financial Services and Compare the Market, to name but a few. He currently works for Housing Insight.

Mark discovered programming when he was 18 and taught himself web development and Java and then moved into the .NET world in 2003. He runs FSharp.TV as well as leading the Cambridge F# User Group and co-organises the Cambridge DDD Nights User Group; they both meet on a monthly basis.

His love of programming has given him the opportunity to experience various programming languages but he has happily settled on F# and is now a proud sustaining member of the F# Software Foundation.

During the talk, you will learn cross platform tooling novelties that are created by F# opensource community. You will also discover new features in Ionide and Forge, updates to FsharpLint, new way of testing with Expecto, and new TryFsharp webpage.

About the speaker...

Krzysztof is F# developer, open source contributor and active member of F# community. He is maintainer of several popular projects such as Ionide (F#, Paket and FAKE support in Atom and VS Code), F# yeoman generator. In his free time, he tries to spread love to F# and functional programming speaking on local user groups and conferences.

About the speaker...

Don Syme is a Principal Researcher at Microsoft Mobile Tools and 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. He has also worked on the design of virtual machines and the C# language, being co-responsible for C# and .NET generics, and the design of language-integrated asynchronous programming in F# and C#.

Alfonso Garcia-Caro shares his love and excitement for this years F# eXchange!

I've been programming F# for a bit more than two years now. From the very beginning
I felt very appealed by the power of the language, its tooling, the ecosystem and
the educational resources available. But it wasn't until I attended the F# eXchange
at Skills Matter in London and met Don Syme and other prominent members of the
absolutely incredible F# community when I really started feeling part of something big.
Now I've been honoured the opportunity of sharing a talk of my own at the upcoming F# eXchange which makes me very happy and also realize how welcoming and supporting the
F# community is.

My workshop will be about Fable, the F# to JS compiler I created to take advantage of
the new capabilities of two powerful code transformation tools: the F# compiler itself
and Babel, a project to manipulate JavaScript ASTs (Abstract Syntax Trees). Fable is a
lightweight compiler with the goal of integrating really well with the JS ecosystem.
Thanks to this, it's really easy to use any of the numerous JS development tools like
Webpack, React (including React Native to ) or Redux. This means you can still use all
the beloved F# features without any handicap compared to JS developers. As it's usually
said: Fable brings in the best of two worlds!

But the F# eXchange won't be only about frontend development. The possibilities
of F# go far beyond that and I'm really looking forward to learn from the best minds of the
F# community, like Evelina Gabasova, about Machine Learning, server
development, profiling and many other topics.

These are really exciting times for F#. Thanks to Mono, Xamarin, Websharper and the IDE support
in Emacs or recently in Atom and Visual Studio Code (with Ionide), F# was able to cross Windows'
boundaries long time ago. But it is now, with .NETCore and Fable when F# is finally becoming a
true cross-platform language.

Robert Pickering talks Deep Dream and F# Community Fun!

My talk will be about “Deep Dream”, which means using neural networks to generate art. Two of my biggest motivations in life are learning and aesthetics, so it's a subject that I find fascinating.

The reason deep dream images interest me so much is because of the way they often end up resembling impression / post-impression and psychedelic art work.

The link with psychedelic art is particularly interesting and leads me to think that in some ways the neural network models we are producing today are similar to the way our brain works. Deep dream works by enhancing parts of the image that the network recognizes - deliberately overfitting, to give the effect its technical term. This leads to images from the neural network’s training set appearing ghostlike in the original image. Psychedelic drugs are known to interfere with our “reality filter” - the parts of the brain responsible for stopping the overfitting occurring in our brain’s own image recognition circuitry. So if we are able to break neural network in the same way psychedelic drugs can break the brain, this offers a tantalizing hint that our models are on the right track.

I’ve always enjoyed speaking at Skills Matter conferences. The team at Skill Matter are really good at putting together an excellent mix of speakers and creating a friendly atmosphere. Without Skills Matter providing a meeting hub for programmers, I don’t think the London tech scene would be as advanced as it is today.

It’s always good fun to meet with the rest of the F# community. The community is comprised of programmers who are also philosophers, artist, rebels, mathematicians, thinkers. I think that because F# also appeals to people that don’t necessarily think of themselves as programmers this has helped increase the communities diversity. This makes for some very interesting and lively discussions with other community members.

Ramón Soto Mathiesen shares some love for the F# community prior to April's Fsharp eXchange!

I am pleased and honored to announce that I will be a speaker at this years F# eXchange 2017 conference.

It’s almost 3 years ago since I became acquainted with Skills Matter and the F# Community. I had spoken previously with Phillip Trelford because I have co-founded the F#unctional Copenhageners Meetup Group, which is like a sisterhood to F#unctional Londoners Meetup Group. In another case, due to work with Microsoft Dynamics CRM, I had come across Ross McKinlay (I still owe you some beers). Both were present at the Meetup.
When I arrived to the venue, I bumped into Don Syme at the door. I was really not expecting that. Rob Lyndon's talk started and I was amazed how this punk rocker, with a Mohawk, looking guy absolutely mastered coding GPU kernels type-safely in F#. It was pretty amazing.

After the Meetup, we all went over and had a beer (or many) at a near bar. This was great as it gave the possibility to meet many of the people who did incredible work for the Community. I specially noticed Tomas Petricek, due to the amazing tools that he has provided and which I have used have used professionally: F# Formatting, F# Data, among others.

Read more about Ramon's encounters with, and love for, other F# experts here.

Paulmichael Blasucci contemplates the awesomeness of F# eXchange '17!

I’m extremely pleased to be attending this year’s F# Exchange (6-7 April 2017) The program is very nearly finalized and the content looks amazing. In fact, this is shaping up to be one of those rare conferences where, no matter which sessions I choose to attend, I’m sure to be missing some fantastic presentations. Of course, it doesn’t hurt that I’ll get to catch up with friends both old and new. I’m also looking forward to finally meeting some “online friends” in real life. But I wanted to take this opportunity to highlight some of the topics on which I’ll be presenting…

Many people will tell you how cool the F# language is (and rightfully so). But it obviously takes more than just coolness to build great software. It takes high-quality tools. So, in April, I’ll be talking about two such tools:

Prior to sharing with the F# community at this years eXchange, Philip Carter reveals his favourite things about our F# friends!

I am excited to join F# eXchange where I will be talking about the state of F# from within Microsoft’s Developer Division. I work in the group responsible for the .NET Framework and .NET Core versions of the F# compiler and F# tooling in Visual Studio.

The best thing about being part of the F# community at F# eXchange is the ability to reach out to leaders in the F# community to spread a positive message about F#. We’re excited about the potential for F# to grow at Microsoft, and the first step towards growth is connecting with influencers in the F# community. I’m also looking forward to forging solid friendships with people from across the world.

I think the most exciting thing for the F# community over the next 12 months will be the quantum leap in tooling quality and support no matter what environment people try to write F# in. Visual Studio, Visual Studio for Mac, Visual Studio Code with Ionide, Command-line tools, Azure Notebooks, Azure Functions, and .NET Core are set to propel F# as we position it as the functional programming language for .NET. FABLE also presents a new dimension for building applications with web technologies in F#. I believe that we are on the cusp of something special here.

To find out more about Phillip's work, check out his Github page here!

I've been programming F# for 7 years now, from backend programming, calculation engines for finance, compiler and tooling work, and mobile development, I love it! My proudest moment is being awarded the F# Bad Ass award 'For services to the F# community in open source, cross-platform IDE, mobile and runtime tools.'

I am excited to join F# eXchange where I will be sharing my thoughts on…

- All of the amazing ways that you can now do mobile development with F# and some new tricks I developed while and after working at Xamarin.

The best thing about being part of the F# community at F# eXchange is…

- There are lots of different aspects of F# and I enjoy working down at the compiler level right through to making new tooling and building mobile applications. The diverse range of subject matter at F# eXchange means that there will be something available to all disipline's and skill levels.

At F# eXchange 2017, I most look forward to learning about...

- For me personally Im looking forward to Robert Pickerings Deep Dream and Ross McKinlay's YOU WERE EATEN BY A GRUE z-machine talk. I grew up with Infocom adventures so they definitely strike a chord with me.

My talk will be enjoyed by…

- Anyone that is interesting in the options available to mobile developers and how to get started in this growing area.

I think the most anticipated / exciting development for the F# community over the next 12 months will be…

- I think Fable offers some interesting opportunities in the future to both push the F# language to new and uncharted areas and also to offer experimentation in functional programming on the JavaScript platform.

CodeNode

In August 2015, Skills Matter opened the doors to CodeNode, our new 23,000 sqft Tech Events and Community venue. CodeNode provides fantastic meetup, conference, training and collaboration spaces with unrivalled technology capabilities for our tech, digital and developer communities - a long held dream coming true !

With fantastic transport links and located in the heart of London's Tech City, we could not think of a better location for our 60,000 strong engineering community!

With seven event rooms, including a 300 seater lecture room, thousands more community members will be able to visit CodeNode to learn and share skills, code and collaborate on projects.

CodeNode features a 5,000 sqft break-out space, complete with fully-licensed bar, plenty of power sockets, meeting and collaboration spaces and entertainment areas.

CodeNode will also see the opening of a permanent Hack Space, stacked with microprocessors and the latest tools and devices to play with. A community film studio will be opening too, which you can use to record any tutorials or demo's you may want to share with our community.

If you're interested in hiring CodeNode for your upcoming event, check out more details here.

Don't miss these Special Moments with the experts from #FsharpX 2017!

Don't miss the 2018 edition with more to learn from the leading experts in the F# field!

Thanks to our sponsors

Skills Matter's community conferences are made possible thanks to the generous support of our amazing sponsors, who help us keep tickets affordable, organise great talks and are keen to meet you at their booths, to share their projects, tools and frameworks with you.

To learn more about our sponsors, click on their logo!

If you or your company would like to sponsor the F# eXchange 2017, contact us or check out this year's Sponsor packages below.

Available Packages

64-BIT SPONSORSHIP

Engage with 125 passionate and highly experienced members of our F# community at the F# eXchange 2017! Show off your team, projects, tools or devices at your #fsharpex conference booth!

Engagement Benefits

Two items (leaflet, device, pen or notepad) included in all the F# eXchange 2017 swag bags

3 free tickets to the conference which you can gift to your clients, your engineering team or members of Computing At School (teachers learning computing to teach the new National Computing Curriculum).

Engagement Benefits

2 free tickets to the conference which you can gift to your clients, your engineering team or members of Computing At School (teachers learning computing to teach the new National Computing Curriculum).

16-BIT SPONSORSHIP

Brand Visibility Benefits

Your logo (small) on the F# eXchange 2017 web pages;

Your own dedicated partner page on skillsmatter.com;

Your logo (small) on all in-venue conference banners.

T-SHIRT SPONSORSHIP

Be remembered! Have your logo printed on the F# eXchange t-shirts, provided to all conference attendees, speakers and sponsors attending this year.

Brand Visibility Benefits

Your logo on all F# eXchange t-shirts

Exclusive to two t-shirt sponsors only!

SPONSOR THE F# EXCHANGE 2017 PARTY!

Be remembered by all conference attendees, speakers and sponsors attending the party this year! Have your logo printed on the F# eXchange Party beer mats and on highly visible party posters and pop-up banners, which are bound to feature in lots of pictures this year.

Brand Visibility Benefits

Your logo displayed on the F# eXchange 2017 Party beer mats and on table pop-up banners;

Five free tickets to the F# eXchange 2017 Party, which you can gift to your clients and team members;

During the talk, you will learn cross platform tooling novelties that are created by F# opensource community. You will also discover new features in Ionide and Forge, updates to FsharpLint, new way of testing with Expecto, and new TryFsharp webpage.

In this talk, you will learn how the above mentioned tools were used to implement a mobile data usage platform. A way has been found to use the tools that come out of the box with a Macbook, coupled with the great language that is F# to throw up a system in next to no time with Azure functions...

"Divide et impera." Divide and rule. A sound strategy for any complex problem, be it in politics, warfare, or software engineering. But like so many maxims, this is easier said than done... Unless you have the right tools.

As is commonplace amongst many companies, the main code base is usually a C# monolith. Although there is a lot of domain knowledge captured in it, using C# wasn't always the best choice to solve domain problems. Upon discovering F#, it was a better fit for some of the features Gien and team...

F# as a language has a number of features that tend to sound fantastically interesting - but practically useless. Computational expressions, type providers, active patterns, quotations... they're cool. But what are they good for? In this talk, you will whistle through a bunch of real life...

Writing code in F# is actually easy. Once you get the basic constructs, you can start building stuff pretty fast. However, as with every new toy, you can get a bit carried away and forget to apply your common sense and knowledge. Without diving into advanced features, nor domain modelling, you...

Automated testing can be a pain - or a joy! In this talk, you will explore the multitude of technologies and techniques that F#, .NET and Mono developers can use to move the needle in the joyful direction. You will discover basic unit testing with NUnit. Following that, you will take it to the...

Let's acknowledge it, Javascript has conquered the world. You've seen it on the web, on the server, on the desktop, on mobile... Everywhere! Like the language or not, the truth is JS developers have built an incredible ecosystem with libraries and tools to do almost anything. If you want...

When you’re stuck while programming - who you gonna call? StackOverflow! It’s an invaluable source of daily help to many. Interestingly, you can also download the entire data dump of StackOverflow and let machine learning loose on the dataset. In this talk, you will discover what you can learn...

Love it or Loathe it, testing is an unavoidable aspect of developing high-quality software. But there's a world of difference between well-tested code and simply writing tests. Very often, the difference boils down to how you assess the "correctness" of your code. By focusing on...

Aside from its famous conciseness, F# has a feature that lends itself extremely well to MVVM architecture: its lack of circular dependencies. With the right infrastructure for building visual components, it becomes very easy to create separate layers for models, views and presentation logic. In...

Out of the box, property-based testing is a very effective tool for finding edge case failure modes. Even a fairly naive test will quickly find if there is a problem. Through the effective use of types, a property-based test can also tell you a lot about what the actual problem might be. This...

Microsoft does quite a lot with F#. Microsoft builds and support compilers on .NET Framework and .NET Core, and also support F# running on Xamarin-flavored Mono. There is also the building and supporting of tools within the Visual Studio IDE, which is the primary way developers write code in F#....

You live in a time when it's never been easier to write distributed systems capable of running across hundreds or potentially thousands of machines in the cloud. For many people, however, the goto solutions all lie on the JVM but the CLR and F# has a secret weapon in the form of MBrace. In...

Google’s Deep Dream images hit the headlines last year as the surreal and psychedelic images captured the public’s imagination. In this talk you will learn the surprisingly simple algorithm that is used to produce these images. You will discover how the “convolutional neural network” networks...

F# added support for asynchronous workflows 10 years ago, so you would think that the problem of asynchronous programming should have been fixed by now. Yet, if you try to make sense of the different abstractions for asynchronous programming, it is easy to get lost! What is the difference between...

What's changed in the last two years after the announcement of .NET Core? Not only the .NET Core is a good runtime for cross platform development, but the tooling too evolved to create a nice developer experience.

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...

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?

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...

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?

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?

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.