Archives
2021
- Exploring Case Law February 8, 2021
- I Built a Terrible Roomba January 23, 2021
2020
- Haskell in the Real World November 25, 2020
- Separate Your Views; Reify Your Reasoning November 9, 2020
- Towards Tactic Metaprogramming in Haskell October 12, 2020
- Algebra-Driven Design September 10, 2020
- Polysemy: Mea Culpa June 14, 2020
- A Working Linux DAW February 13, 2020
2019
- Low-Tech AST Extensibility with Extension Patterns November 27, 2019
- Haskell2020 Is Dead, but All Hope Is Not Lost November 1, 2019
- New Book: Design and Interpretation of Haskell Programs October 13, 2019
- Nimic: A language about nothing July 15, 2019
- How I Intend to Help Steer GHC July 11, 2019
- Polysemy Internals: The Effect-Interpreter Effect June 26, 2019
- Implement With Types, Not Your Brain! June 25, 2019
- Polysemy Internals: Freer Interpretations of Higher-Order Effects May 31, 2019
- Faking Fundeps with Typechecker Plugins May 25, 2019
- Writing Custom Optimization Passes May 22, 2019
- GHC's Specializer: Much More Than You Wanted to Know May 18, 2019
- Announcing Polysemy April 10, 2019
- Freer, yet Too Costly Higher-order Effects March 12, 2019
- Freer Monads: Too Fast, Too Free February 18, 2019
- Freer Monads, More Better Programs February 13, 2019
- How to Write Technical Posts (so people will read them) February 7, 2019
2018
- Thinking with Types November 14, 2018
- Protobuffers Are Wrong October 10, 2018
- Gauging Interest in a Type-Level Programming Book July 8, 2018
- Static Analysis of Free Monads July 7, 2018
- Coercions and Roles for Dummies June 26, 2018
- Performance and Feature Case Studies in Ecstasy May 18, 2018
- Follow the Denotation May 3, 2018
- Algorithmically Scrapping Your Typeclasses April 16, 2018
- HKD: Less Terrible than You Might Expect April 4, 2018
- Free Lenses for Higher-Kinded Data March 31, 2018
- Higher-Kinded Data March 29, 2018
- Devlog: Navigation February 8, 2018
- Devlog: Action Menus, Timers and Hit Detection February 1, 2018
- Why Take Ecstasy January 28, 2018
- Devlog: Starting a Game Engine January 27, 2018
2017
- Gentle Theorems: Difference of Squares November 24, 2017
- Type-Directed Code Generation November 18, 2017
- Review: Bananas, Lenses, Envelopes and Barbed Wire October 6, 2017
- Modeling Music September 6, 2017
- Review: Information Effects August 20, 2017
- Review: Theorems for Free July 29, 2017
- Don't Eff It Up April 9, 2017
- Comonadic Collision Resolution January 1, 2017
2016
- Book Announcement November 9, 2016
- Better Data Types a la Carte September 13, 2016
- An Existential Crisis July 15, 2016
- Constructing a Comonad June 26, 2016
- Zap as the Machinery of Program Reduction June 19, 2016
- Wake Up and Smell the Cofree Comonads June 5, 2016
- Towards Procedurally Generated Stories via Free Monads June 2, 2016
- Elm Is Wrong April 12, 2016
2015
- Of Ideas and Men July 7, 2015
- How I Learned to Stop Worrying and Love the Type System July 2, 2015