This post was inspired by a curious question on Twitter: is curry or uncurry more common in Haskell code?

To answer this, we first use hackage-fetch to download every package on Hackage. This will gives us a large sample with many authors.

To find uses of unccurry, we use ripgrep with the following incantation:

rg '[ ]uncurry[ ]' hackage/ --stats

This doesn't actually find every instance of uncurry on Hackage, but it's good enough for our purposes.

# Uncurry

rg '[ ]uncurry[ ]' hackage/ --stats
...7966 matched lines
4346 files contained matches
289306 files searched
2.879 seconds

# Curry

rg '[ ]curry[ ]' hackage/ --stats
...1154 matched lines
525 files contained matches
289306 files searched
2.572 seconds

As we can see, uncurry is nearly eight times more common than curry! I have no explanation for why this is the case, but I think it's quite an interesting result.