Susan Potter

functional programming

software

Algebraic Data Types in TypeScript

Note: the code for the TypeScript (to help you follow along) is available here: Encoding Algebraic Data Types in TypeScript code Background Recently I've been reviewing TypeScript code at work. A common pattern I've observed in pull requests and some open source projects is a type that looks like the following: type FooTag = 'Bar' | …

software

A quick review of a pure functional serverless application deployed to production

/images/car-dashboard-small.webp Photo by Dawid Zawiła on Unsplash This was adapted from a tweet thread on June 3rd, 2020. Notes: all references to $ (dollars) is in reference to US Dollars (USD) latencies are quoted in milliseconds (ms) unless otherwise noted this serverless application was deployed using the AWS primitives API Gateway (REST) and …

snippets

Profunctor exploration in less than 100 lines of Haskell

A snippet showing the space around profunctors in Haskell (e.g. Strong, Choice, Cartesian).

talks

Functional Operations (Functional Programming at Comcast Labs Connect)

If we were starting greenfield development of a service or web application today we would likely employ a number of practices and design choices that are known to optimise application responsiveness, resiliency, elasticity, and/or composability. Delivering our reactive applications on top of predictable infrastructure will set our project up for success. …

talks

Functional and Reactive Operations

If we were starting greenfield development of a service or web application today we would likely employ a number of practices and design choices that are known to optimise application responsiveness, resiliency, elasticity, and/or composability. Delivering our reactive applications on top of predictable infrastructure will set our project up for success. …

talks

Put a Type On It: Idris Types as Propositions

Showing how Curry-Howard can be applied to structuring types to represent logical propositions.

talks

Functional Algebra: Monoids Applied

In functional programming, words from Category Theory are thrown around, but how useful are they really? This session looks at applications of monoids specifically and how using their algebraic properties offers a solid foundation of reasoning in many types of business domains and reduces developer error as computational context complexity increases. This …