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.
Latest Blog Posts
-
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
more...class Myclass a
admit an instance for functionsinstance Myclass a => Myclass (x -> a)
based on the instance fora
. All of these instances have a few things in common: (1) they implement the class methods in a straightforward way asmymethod 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.
For more blog posts, see the full table of contents.