RSSAmplifier

Blog

blog :: Brent -> [String]

Brent Yorgey's academic blog

byorgey.github.ioRSS feed ↗10 posts

Latest posts

Proving the Fundamental Theorem of Arithmetic in Agda

Proving the Fundamental Theorem of Arithmetic in Agda Posted on June 26, 2026 Tagged agda , arithmetic , theorem , proof , Agda Share on tl;dr : This is a fully commentated, from-scratch proof of the Fundamental Theorem of Arithmetic in Agda , intended for those who already know a bit of Agda but might benefit from reading and working through a larger example. See the Introduction and the Table of…

Disco Live!

Disco Live! Posted on January 9, 2026 Tagged disco , web , WASM , UI , teaching , discrete , math , Haskell Share on A couple months ago, I asked for help creating a web interface for Disco , a student-oriented programming language for teaching functional programming and discrete mathematics. I am very happy to report that Heinrich Apfelmus responded to the call, and this is the result: Disco…

Call for collaboration: Disco web UI

Call for collaboration: Disco web UI Posted on November 10, 2025 Tagged disco , web , WASM , UI , teaching , discrete , math , Haskell Share on tl;dr : I would like to have a web interface for Disco , a student-oriented programming language for teaching functional programming and discrete mathematics, which is implemented in Haskell. I’m looking for others interested to help build it. If you like…

Decidable equality for indexed data types, take 2

Decidable equality for indexed data types, take 2 Posted on August 22, 2025 Tagged agda , equality , path , dependent , indexed , agda Share on In a post from a year ago , I explored how to prove decidable equality in Agda of a particular indexed data type. Recently, I discovered a different way to accomplish the same thing, without resorting to embedded sigma types. This post is literate Agda;…

Competitive programming in Haskell: sparse tables

Competitive programming in Haskell: sparse tables Posted on July 18, 2025 Tagged monoid , semigroup , idempotent , range , query , sum , sparse , table , Haskell , competitive programming Share on Continuing a series of posts on techniques for calculating range queries , today I will present the sparse table data structure , for doing fast range queries on a static sequence with an idempotent…

Competitive programming in Haskell: prefix sums

Competitive programming in Haskell: prefix sums Posted on June 27, 2025 Tagged monoid , range , query , prefix , sum , Haskell , competitive programming Share on In a previous blog post I categorized a number of different techniques for calculating range queries . Today, I will discuss one of those techniques which is simple but frequently useful. Precomputing prefix sums Suppose we have a static…

Competitive programming in Haskell: range queries, classified

Competitive programming in Haskell: range queries, classified Posted on June 23, 2025 Tagged semigroup , monoid , range , query , Haskell , competitive programming Share on Static range queries Suppose we have a sequence of values, which is static in the sense that the values in the sequence will never change, and we want to perform range queries , that is, for various ranges we want to compute…

Monads are not like burritos

Monads are not like burritos Posted on June 16, 2025 Tagged monad , pedagogy , meme , burrito , analogy , Haskell Share on In January 2009, while just a baby first-year PhD student, I wrote a blog post titled Abstraction, intuition, and the “monad tutorial fallacy” . In it, I made the argument that humans tend to learn best by first grappling with concrete examples, and only later proceeding to…

Introduction to competitive programming in Haskell

Introduction to competitive programming in Haskell Posted on June 10, 2025 Tagged Kattis , competitive programming , haskell Share on A few days ago I gave a talk at ZuriHac 2025 entitled Haskell for Competitive Programming , a basic introduction to competitive programming in general, and the joy of using Haskell for competitive programming in particular. This is an expanded version of my talk in…

Hendrix College Programming Contest 2025

Hendrix College Programming Contest 2025 Posted on March 13, 2025 Tagged competitive programming , Hendrix , programming , contest , HCPC , Kattis Share on I haven’t written on here in a while, mostly because a lot of my time has gone into preparing for the second annual Hendrix College Programming Contest , which will take place this Saturday, March 15, from 12:30-5:30pm CDT (17:30-22:30 UTC) .…

blog :: Brent -> [String] · RSS Amplifier