In this episode I introduce the F# programming language and guide you through some basic functional programming concepts while showing F# language features.
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.
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.
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.
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.