Archives
- 2024-05-18 - Jujutsu Strategies
- 2023-12-26 - FRP in Yampa: Part 4: Routing
- 2023-12-24 - FRP in Yampa: Part 3: Switching
- 2023-12-22 - FRP in Yampa: Part 2: Arrowized FRP
- 2023-12-21 - FRP in Yampa: Part 1
- 2023-10-30 - Certainty by Construction: Done!
- 2023-10-12 - Certainty by Construction Progress Report 10
- 2023-09-02 - Certainty by Construction Progress Report 9
- 2023-08-23 - Certainty by Construction Progress Report 8
- 2023-08-12 - Certainty by Construction Progress Report 7
- 2023-07-14 - Certainty by Construction Progress Report 6
- 2023-06-20 - Certainty by Construction Progress Report 5
- 2023-06-16 - Certainty by Construction Progress Report 4
- 2023-05-25 - Certainty by Construction Progress Report 3
- 2023-05-18 - Certainty by Construction Progress Report 2
- 2023-05-12 - Certainty by Construction Progress Report 1
- 2023-03-24 - The Co-Blub Paradox
- 2023-01-03 - Abusing Constraints for Automatic Documentation
- 2022-08-04 - Why Is the Web So Monotonous? Google.
- 2022-03-22 - Review: Proof-Carrying Code
- 2022-03-19 - Review: Syntax-Guided Synthesis
- 2022-03-12 - Review: Generic Parallel Functional Programming
- 2022-03-06 - Review: Lightweight Semiformal Time Complexity Analysis for Purely Functional Data Structures
- 2022-02-27 - Review: A Very Elementary Introduction to Sheaves
- 2022-02-16 - Automatic Ring Solving
- 2022-02-10 - Review: Codata in Action
- 2022-02-08 - Followup to Sorting with Bialgebras
- 2022-02-05 - Review: Sorting with Bialgebras and Distributive Laws
- 2022-01-31 - Underlining the Bugs
- 2022-01-29 - Review: Copatterns
- 2022-01-23 - Review: Clowns to the Left of Me, Jokers to the Right
- 2022-01-20 - Automating Wordle
- 2022-01-14 - Review: Shall We Vote on Values, But Bet on Beliefs?
- 2022-01-07 - Review: Adders and Arrows
- 2021-11-21 - Automatically Migrating Eq of No (/=)
- 2021-11-12 - Dragging Haskell Kicking and Screaming into the Century of the Fruitbat
- 2021-10-21 - Proving Commutativity of Polysemy Interpreters
- 2021-10-16 - Proving Equivalence of Polysemy Interpreters
- 2021-10-09 - Testing Polysemy With polysemy-check
- 2021-10-02 - Porting to Polysemy
- 2021-02-08 - Exploring Case Law
- 2021-01-23 - I Built a Terrible Roomba
- 2020-11-25 - Haskell in the Real World
- 2020-11-09 - Separate Your Views; Reify Your Reasoning
- 2020-10-12 - Towards Tactic Metaprogramming in Haskell
- 2020-09-10 - Algebra-Driven Design
- 2020-06-14 - Polysemy: Mea Culpa
- 2020-02-13 - A Working Linux DAW
- 2019-11-27 - Low-Tech AST Extensibility with Extension Patterns
- 2019-11-01 - Haskell2020 Is Dead, but All Hope Is Not Lost
- 2019-10-13 - New Book: Design and Interpretation of Haskell Programs
- 2019-07-15 - Nimic: A language about nothing
- 2019-07-11 - How I Intend to Help Steer GHC
- 2019-06-26 - Polysemy Internals: The Effect-Interpreter Effect
- 2019-06-25 - Implement With Types, Not Your Brain!
- 2019-05-31 - Polysemy Internals: Freer Interpretations of Higher-Order Effects
- 2019-05-25 - Faking Fundeps with Typechecker Plugins
- 2019-05-22 - Writing Custom Optimization Passes
- 2019-05-18 - GHC’s Specializer: Much More Than You Wanted to Know
- 2019-04-10 - Announcing Polysemy
- 2019-03-12 - Freer, yet Too Costly Higher-order Effects
- 2019-02-18 - Freer Monads: Too Fast, Too Free
- 2019-02-13 - Freer Monads, More Better Programs
- 2019-02-07 - How to Write Technical Posts (so people will read them)
- 2018-11-14 - Thinking with Types
- 2018-10-10 - Protobuffers Are Wrong
- 2018-07-08 - Gauging Interest in a Type-Level Programming Book
- 2018-07-07 - Static Analysis of Free Monads
- 2018-06-26 - Coercions and Roles for Dummies
- 2018-05-18 - Performance and Feature Case Studies in Ecstasy
- 2018-05-03 - Follow the Denotation
- 2018-04-16 - Algorithmically Scrapping Your Typeclasses
- 2018-04-04 - HKD: Less Terrible than You Might Expect
- 2018-03-31 - Free Lenses for Higher-Kinded Data
- 2018-03-29 - Higher-Kinded Data
- 2018-02-08 - Devlog: Navigation
- 2018-02-01 - Devlog: Action Menus, Timers and Hit Detection
- 2018-01-28 - Why Take Ecstasy
- 2018-01-27 - Devlog: Starting a Game Engine
- 2017-11-24 - Gentle Theorems: Difference of Squares
- 2017-11-18 - Type-Directed Code Generation
- 2017-10-06 - Review: Bananas, Lenses, Envelopes and Barbed Wire
- 2017-09-06 - Modeling Music
- 2017-08-20 - Review: Information Effects
- 2017-07-29 - Review: Theorems for Free
- 2017-04-09 - Don’t Eff It Up
- 2017-01-01 - Comonadic Collision Resolution
- 2016-11-09 - Book Announcement
- 2016-09-13 - Better Data Types a la Carte
- 2016-07-15 - An Existential Crisis
- 2016-06-26 - Constructing a Comonad
- 2016-06-19 - Zap as the Machinery of Program Reduction
- 2016-06-05 - Wake Up and Smell the Cofree Comonads
- 2016-06-02 - Towards Procedurally Generated Stories via Free Monads
- 2016-04-12 - Elm Is Wrong
- 2015-07-07 - Of Ideas and Men
- 2015-07-02 - How I Learned to Stop Worrying and Love the Type System