Technology, Creativity, and Life

Introduction to Functional Programming with F#

August 12, 2016

In this episode I introduce the F# programming language and guide you through some basic functional programming concepts while showing F# language features.

Records and Discriminated Unions - F# Part 2

August 19, 2016

In this episode, I walk you through the design of a data model for a text-based adventure game in F#. We'll cover F#'s record types, discriminated unions, and the Option type.

Functional Game Logic with State Pipelines - F# Part 3

August 25, 2016

In this episode we start building the basic logic for our text adventure game by constructing a logic pipeline that transforms the game world state. We cover match expressions, parameter destructuring, and a technique known as Railway-Oriented Programming.

Functional Concurrency with the Actor Model - F# Part 4

August 31, 2016

In this episode we learn about the Actor Model and use F#'s MailboxProcessor to create a game loop for our text-based adventure game. We'll also briefly cover a few more F# features like recursive functions, computation expressions, classes and exception handling.

Parsing Text with Combinators - F# Part 5

September 22, 2016

In this episode we start building a set of parser combinators which can parse the adventure game's text commands in a functional way. We'll also cover topics like recursive descent parsers, left-associativity, and F#'s range operator.