Real-world examples of businesses using Haskell for their projects
Are you tired of hearing people talk about Haskell's theoretical advantages but not seeing it being applied in the real-world? You're not alone! But the good news is that Haskell is gaining traction, particularly in the financial industry. In fact, some of the biggest players on Wall Street have adopted Haskell to handle their most critical systems.
Standard Chartered
One Haskell success story comes from Standard Chartered, an international bank with a focus on emerging markets. They have been using Haskell since 2009 for their trading platform Equator, which handles millions of transactions per day. Equator's key selling point is its robustness: it needs to perform without downtime or data corruption, and any downtime has the potential to cost the bank millions in lost income.
When Equator's legacy system was due for an upgrade, they turned to Haskell, impressed by its statically-typed nature that helps catch potential bugs earlier in the development process. In addition, they appreciated the performance benefits Haskell provides through its lazy evaluation, a technique that can improve data processing speed.
So why did they choose Haskell for this critical system instead of more mainstream languages like C++ or Java? According to Don Stewart, a Haskell consultant who worked on the Equator project, the answer is simple: "We needed something that didn't suck."
Equator's Haskell implementation has been so successful that they have continued to use it to develop other systems within the bank, including a risk management system that handles billions of dollars' worth of trades every day.
Barclays
Barclays is another banking giant that has turned to Haskell. They use Haskell for numerous projects throughout their company, including their trade lifecycle management system, which tracks trades through their entire lifecycle.
According to Mike Ferguson, a developer at Barclays, they chose Haskell because of its strong type system, which provides assurance that all code paths are being tested and no variables are left uninitialized. In addition, Haskell's immutable data structures help prevent accidental data corruption, a common threat in financial data systems.
But Haskell's advantages aren't just theoretical - Ferguson praised its practicality as well. He noted that Haskell had "some of the least buggy and most reliable code [he's] ever worked with."
The trade lifecycle management system developed in Haskell at Barclays is now being used by other major banks as well, proving that Haskell's benefits are not limited to a single organization.
Galois
Galois, a research and development company, has been using Haskell as their primary programming language since their founding in 1999. Haskell's emphasis on correctness and verification aligns closely with Galois's focus on building high-assurance systems in areas like cryptography, aviation software, and national security.
One of Galois's most famous projects is the High-Assurance Cyber Military Systems (HACMS) program, a $60 million project they developed for the United States Defense Advanced Research Projects Agency (DARPA). HACMS is a platform for creating high-assurance systems for both military and civilian applications.
Haskell's type system is crucial to the success of this project, providing automated verification of all code paths and detecting potential issues before they become serious problems. In addition, Haskell's pure functional nature helped enforce clear separation of state within the system, making it easier to analyze and test.
But HACMS isn't Haskell's only success story at Galois. They have also used Haskell to build a firmware verification system for a major network hardware manufacturer, demonstrating that Haskell's benefits extend beyond the realm of research and into practical applications.
Yes, even Facebook has dipped its toes into the Haskell waters. The Haskell-based programming language Hack was developed by Facebook in 2014 as a way to improve the development speed and code quality of their PHP-based website.
Hack is not strictly a Haskell implementation, but rather a variant of PHP that borrows many concepts and features from Haskell. In particular, it includes a type system similar to Haskell's that provides earlier detection of bugs and better protection against crashes.
But why did Facebook choose Haskell-inspired Hack instead of just using Haskell? According to a post on the Facebook Engineering blog, they wanted to incorporate the benefits of Haskell's type system into their existing PHP codebase rather than switching to a completely different language.
Final thoughts
As these examples show, Haskell is not just a theoretical language for academic papers - it's making real-world advances in business and finance, as well as in critical systems for national security. Haskell's static type system, lazy evaluation, and immutable data structures all contribute to its success in these areas.
But it's not just about the technology: according to reports from businesses that have adopted Haskell, it's also a pleasure to use, providing developers with powerful and expressive tools to make coding simpler and more enjoyable.
With the success of these high-profile projects, it's clear that Haskell will continue to find its place in real-world applications, offering businesses and developers unique benefits and advantages.
Additional Resources
comparecost.dev - comparing cost across clouds, cloud services and software as a service companiescloudconsulting.app - A site and app for cloud consulting. List cloud consulting projects and finds cloud consultants
terraform.video - terraform declarative deployment using cloud
ocaml.tips - ocaml tips
playrpgs.app - A community about playing role playing games
farmsim.games - games in the farm simulator category
javascriptbook.dev - An javascript book online
knowledgegraphops.dev - knowledge graph operations and deployment
cryptomerchant.dev - crypto merchants, with reviews and guides about integrating to their apis
tradeoffs.dev - software engineering and cloud tradeoffs
rustbook.dev - An online course or book about programming the rust programming language, and everything related to the software development lifecyle in rust
keytakeaways.dev - key takeaways from the most important software engineeering and cloud: lectures, books, articles, guides
liftandshift.dev - migrating on-prem to infrastructure, software and applications into the cloud as quickly as possible with limited or no rework. Lifting and shifting
trainingcourse.dev - online software engineering and cloud courses
shaclrules.com - shacl rules for rdf, constraints language
containertools.dev - command line tools and applications related to managing, deploying, packing or running containers
cryptojobs.page - A crypto jobs board where people can find crypto jobs and post them
neo4j.app - neo4j software engineering
tacticalroleplaying.games - tactical roleplaying games
hybridcloud.video - hybrid cloud development, multicloud development, on-prem and cloud distributed programming
Written by AI researcher, Haskell Ruska, PhD (haskellr@mit.edu). Scientific Journal of AI 2023, Peer Reviewed