MediatR vs Discriminated Unions

Posted on October 24, 2020 in Development • Tagged with MediatR, .NET, C#, F#, Patterns, FunctionalProgramming

In this post, I will compare and contrast what the MediatR makes possible in C# with what we can achieve natively in F# with discriminated unions. This is not meant to be an exhaustive review of the features and capabilities of MediatR or what is possible with functional techniques, just …


Continue reading

Todo Kata - FSharp Part 3

Posted on October 07, 2020 in Tutorial • Tagged with Tutorial, F#, Todo, Development, SQLite, Dapper, ORM, SQL

Welcome to Part 3 of the F# Todo kata. In this final part, we will revisit the done application and modify it to work with a SQLite database instead of a text file.

(Note: F# has a great feature called a type provider which can give strongly typed compile-time access …


Continue reading

Todo Kata - FSharp Part 2

Posted on October 06, 2020 in Tutorial • Tagged with Tutorial, F#, Todo, Development, Events

In Part 2 of the F# kata, we will implement the todo application. This will allow us to keep track of a todo list, and it will utilize the done functionality we created in the previous post to record the items we complete.

Series Outline

  1. Intro
  2. F# Series
    1. Part 1 …

Continue reading

Todo Kata - FSharp Part 1

Posted on October 05, 2020 in Tutorial • Tagged with Tutorial, F#, Todo, Development

Welcome to Part 1 of the F# kata to implement to todo list manager discussed in the introduction. In this post, we will implement the done command. We start with done rather than todo because todo will actually depend on functionality in done to save completed items whereas done has …


Continue reading

Todo Kata - Introduction

Posted on October 04, 2020 in Tutorial • Tagged with Tutorial, F#, Todo, Development

This post marks the introduction for a code kata series in which we will develop a command-line todo list manager in a few different languages. Each kata will assume a working development environment (I will be working in VS Code on Ubuntu 18.04) and basic familiarity with the syntax …


Continue reading