Hasura’s core engine is built in Haskell. Although a seemingly risky choice initially, our choice of spending our innovation token / golden ticket to build with Haskell had paid off well. :)
Haskell is particularly well suited for complex concurrent programming tasks (hello web servers!) and to build compilers. A lot of what Hasura does can be boiled down to a performant JIT compiler that is presented as a web-server handling large concurrent loads. Haskell has allowed us to collaborate on a large codebase and has allowed us to move with startup-like speeds on infrastructure software without breaking things.
Over the years, as our codebase has become more and more complex we’ve needed better tools to understand how and why our code is behaving in particular ways in particular situations. Especially as we’ve been working on our cloud offering, innovatively called Hasura Cloud (we had just the one innovation token), greater visibility and better operational tooling has become critical!
I’m excited to announce an engineering collaboration and partnership with the great folks at Well Typed to be working with them on improving open-source tooling in the Haskell ecosystem.
Most recently, we’ve been investigating memory fragmentation in GHC Haskell and found limitations in the profiling tools available, so we're planning to support ongoing development efforts on ghc-debug and help improve GHC's DWARF support for tracking running code back to source file locations. This will unlock many possibilities for easier profiling of production Haskell code.
We’re excited to be working with David Eichmann, Ben Gamari and the team at Well Typed over the coming months. And special thanks of course to Adam Gundry for helping this collaboration come together!