Susan Potter
### Haskell

Haskell, renowned for its purity and expressive power, offers a refreshing perspective on solving complex problems. Discover the joys of immutability, higher-order functions, and type safety as you unlock the true potential of functional programming. Whether you're a seasoned developer seeking a new paradigm or a curious learner ready to embrace the beauty of code, our Haskell section is here to inspire, educate, and empower you on your functional programming adventure. Let's dive into the realm of Haskell and witness the magic of functional programming unfold!


2023-07
Software A Haskell view of functional programming ("effectful")

This article explores Haskell’s techniques for isolating side effects, starting with the IO monad, which encapsulates impure code to enable reasoning about pure portions. It explains IO’s …

2023-07
Software A Haskell view of functional programming (well-typedness)

Dive into an educational journey exploring the power of strong static typing, enforcing domain-specific constraints, and ensuring the validity of values. Uncover how well-typedness enhances code …

2020-10
Software Profunctors for Practitioners: The API (Part 3)

Part 3 examines the Profunctor typeclass in detail: the dimap operation, its laws, and the Strong and Choice extensions that enable profunctors to work with products and sums. These building blocks …

2020-09
Software Profunctors for Practitioners: First Intuitions (Part 2)

Part 1 showed paired operations like encode/decode and serialize/deserialize. Part 2 builds the intuition for why these pairs fit together: one direction produces data (covariant), the other consumes …

2020-09
Software Profunctors for Practitioners: Motivating Examples (Part 1)

Software development involves many paired operations: encoding and decoding, serializing and deserializing, encrypting and decrypting. Profunctors capture this pattern. Part 1 introduces the …

2019-06
Talk From Zero to Haskell: Lessons Learned (ZuriHac)

Embarking on functional programming within an established software organization is a daunting task, but this talk reveals some secrets and wisdom acquired from experience trying to build a team this …

2018-10
Snippet Profunctors: The Machinery Behind Optics

Profunctors are the abstraction that makes lenses, prisms, and other optics composable. This article builds intuition for profunctors from first principles, showing how they generalize the familiar …

2014-09
Software Parametricity: A Practitioners Guide

This post is a quick and handy guide that introduces the concept of parametricity and explains how it can be leveraged in software development. The article aims to target industry practitioners …

2012-11
Talk 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 …