With "Haskellers from the trenches", the #Haskell blog lets experienced engineers talk about their subjects of expertise, best practices, and production tales.
We start with @iankduncan.com's "A Couple Million Lines of Haskell: Production Engineering at Mercury"
blog.haskell.org/a-couple-mil...
also fun how llvm has at least three ways of marking that something is deprecated and only two of those are visible until you click on the specific function
biblically accurate combinatorics
What it takes to run 2 million lines of Haskell in production at a fintech company serving 300,000 businesses.
llvm moment: the c api is split into several different "topics" so i thought "i wonder what kind of operation the 'Transforms' topic exposes".
and apparently the answer is: none
Alice ✨
wait what? did they teach union-by-rank?
actually, i guess rustdoc comes close but it still doesn't have all of these (in particular not the awesome interactive source viewer)
oh and it works locally (no idea if other systems support that but it's nice)
- the order of items in docs doesn't need to follow the order in the source file (because it's based on the export list)
- you can use top-level docs that aren't tied to any specific items
- it includes interactive source code with jump to definition (across files) and type signatures on hover for everything (if you click on "Source" somewhere)
- you can use latex! (e.g. in the complexity of hackage-content.haskell.org/package/cont...)
- it's actually ridiculously powerful. like, you can embed full interactive 3D models if you want to hackage-content.haskell.org/package/wate...
think they un-deprecated it again?
engineering.fb.com/2026/03/02/d...