Author Archives: Brent

Combinatorial species definition

Continuing from my previous post, recall that the goal of species is to have a unified theory of containers with labeled1 locations. So, how do we actually specify such things (leaving aside for the moment the question of how we … Continue reading

Posted in math, species | Tagged , , , , | 5 Comments

foldr is made of monoids

> import Data.Monoid In his recent blog post What is foldr made of?, Tom Ellis made the clever observation that foldr is equivalent in power to the combination of map and compose, where > compose :: [a -> a] -> … Continue reading

Posted in haskell, math | Tagged , , , , | 15 Comments

Using multiple versions of GHC in parallel with GNU stow

Do any of the following apply to you? You sometimes hack on GHC. You sometimes want to try out an unreleased GHC version. You maintain a library and want to make sure it builds with several different versions of GHC. … Continue reading

Posted in haskell | Tagged , , , | 10 Comments

Decomposing data structures

So, what are combinatorial species? As a very weak first approximation, you can think of them as a generalization of algebraic data types.1 That doesn’t really say much about what they are, but at least it does explain why programmers … Continue reading

Posted in math, species | Tagged , , , | 9 Comments

And now, back to your regularly scheduled combinatorial species

I’ve already mentioned this to people here and there, but haven’t yet announced it publically, so here it is: Stephanie Weirich and I have been awarded a grant from the NSF to study the intersection of combinatorial species and (functional) … Continue reading

Posted in combinatorics, math, writing | Tagged , | 10 Comments

FogBugz, Beeminder, and… pure functions in the cloud?

For a number of years now, I’ve used a free personal instance of FogBugz to track everything I have to do. At any given time I have somewhere between 50-150 open tickets representing things on my to-do list, and over … Continue reading

Posted in meta | Tagged , , , , , , , | 16 Comments

Creating documents with embedded diagrams

If you read my recent post about type algebra, you may have wondered how I got all those nice images in there. Surely creating the images and then inserting them into the post by hand would be rather tedious! Indeed, … Continue reading

Posted in diagrams, haskell, projects, writing | Tagged , , , , , , , , , | 9 Comments

BlogLiterately 0.5.2 release, with improved image uploading

Just a quick note to say that I’ve just released version 0.5.2 of BlogLiterately. (For more information about what it does, see what I’ve written about previous releases here and here, and the documentation.) The new version keeps track of … Continue reading

Posted in haskell, writing | Tagged , , | Leave a comment

Identifying outdated packages in cabal install plans

Every time I build a Haskell package—whether using cabal or cabal-dev, whether something from Hackage or a development version of my own package—I always do a –dry-run first, and inspect the install plan to make sure it looks reasonable. I’m … Continue reading

Posted in haskell | Tagged , , , , , | 7 Comments

Unordered tuples and type algebra

At Hac Phi a few weekends ago (which, by the way, was awesome), Dan Doel told me about a certain curiosity in type algebra, and we ended up working out a bunch more details together with Gershom Bazerman, Scott Walck, … Continue reading

Posted in combinatorics | Tagged , , , , | 7 Comments