Reid EvansType Safe, Composable Promise PoliciesHello and welcome. I’m so happy to bring this to you today as I’ve been trying off and on to come up with what I think is an elegant…May 28, 2020May 28, 2020
Reid EvansCreating a type-safe DSL for filtering in TypescriptIt is common to think of a filter as a function from A -> boolean. Given a value of some type A, return a boolean. The filter function on…Feb 25, 20201Feb 25, 20201
Reid EvansExpression problem related to OO and FPThis was written somewhere else, by someone who probably did a better job explaining it than I’m doing. But I can’t find that link, so…Feb 26, 20192Feb 26, 20192
Reid EvansSolving the Mars Rover Kata with a Free Monad in PurescriptWe want to be able to describe what it means to move our rover without caring whether the implementation is just in memory or there’s an…Jan 25, 20192Jan 25, 20192
Reid EvansCombining Types as Effects to Describe an ApplicationI can only imagine the face I made the first time someone referred to the type of an application. Coming from a Delphi, .NET, and web…Jan 18, 2019Jan 18, 2019
Reid EvansHidden Algebraic Structures in Everyday Imperative CodeThroughout my time as a software developer one of the things I’ve developed is the ability to identify and find an increasing amount of…Nov 16, 20181Nov 16, 20181
Reid EvansThe dangers of returning void — A look at information lossIf you’ve programmed in virtually any mainstream language you might not have considered that there was anything wrong with returning void…Oct 23, 2018Oct 23, 2018
Reid EvansTypesafe, Monadic Parsing with Mapped Types in TypescriptThe process of string parsing comes up pretty frequently in development, but rarely do I stumble upon a solution I like as much as the one…Oct 22, 20181Oct 22, 20181
Reid EvansDomain Modeling with Abstract AlgebraIn this post, we’ll look at several problem domains and see how we can model them with Abstract Algebra. While we’ll look at a few specific…Jun 21, 20181Jun 21, 20181
Reid EvansCreating a more descriptive query model with phantom typesWhen you have a query of some sort it implicitly has a result type associated with it. By using a Phantom Type we can include that type…May 25, 2018May 25, 2018