F# is a great language for developing business logic of an application, but it can be also used for elegantly expressing user interactions. In this talk, we’ll look at both sides of the coin. We’ll develop an (almost complete) application for a retail checkout counter.


In the first part of the talk, we’ll start by looking at domain modeling – using F# types like records and discriminated unions, you can write a domain model that fits on a single page. This makes it easier to understand the application just by looking at the source code. Once we have the domain model, we can implement functions of the business logic and add user interface. In the second part of the talk, we’ll look how to use F# asynchronous workflows to elegantly express interaction logic such as scanning products repeatedly and then completing the trade.

Note From Rick: Please only register if you're sure you can make it.  We have very limited space and expect demand to be high.