The personal website of Daniel Brice, PhD.

Made with Jekyll and hosted on GitHub Pages.

I’ll be using this space to muse about Math and coding and games, mostly.

• ## Looking for a Needle that Might Not Be in an Infinite Haystack

Hand-wavy explanations of my lightning talk of the same title at Mercury’s October 2022 PDX Haskell meetup. Based on “Infinite sets that admit fast exhaustive search” by Martín Escardó.

more...
• ## A decent and reliable Haskell dev setup for VS Code in 2022

The sickest experience possible for Haskell development in July 2022 is undoubtedly VS Code with the Haskell plugin powered by Haskell Language Server (HLS). When HLS works for your project, that is. This guide will demonstrate a simpler, lower-featured alternative that hopefully is reliable enough to work with your project in those cases where HLS does not.

more...
• ## Sets, Classes, and Wabbits

Set theory is a bit of a trickster. Some of its ideas go back to Plato (forms) and Aristotle (categorical syllogisms), but sets don’t quite capture the objects of these disciplines. Rather, the objects of those disciplines are captured more closely by the concept of classes (as in classifications). Sets vs. classes? What’s the difference? Why split hares? This blog post will go into how Set Theory fails to capture our intuitive notions around classification.

more...
• ## Haskell GoF - Abstract Factory

The beginning of a series wherein we show how to implement selected design patterns from Design Patterns: Elements of Reusable Object-Oriented Software. This week, we take a look at the venerable Abstract Factory pattern.

more...
• ## Of function instances and abstract syntax

Some Haskell classes class Myclass a admit an instance for functions instance Myclass a => Myclass (x -> a) based on the instance for a. All of these instances have a few things in common: (1) they implement the class methods in a straightforward way as mymethod f = \x -> mymethod (f x), and (2) they are polarizing among Haskell practitioners. The sequel is a case study of why I find such instances compelling and useful.

more...