Curated Picks

Hand-picked articles, podcasts, and videos, annotated with our insights

Association for Computing Machinery (ACM) Aug 15, 2024

Functional Programming in Financial Markets (Experience Report)

Atze Dijkstra, José Pedro Magalhães and Pierre Néron

Standard Chartered Bank has detailed the production use of their Haskell-derived language Mu to orchestrate pricing workflows for their Markets division, which reported $3 billion in operating income. Their Cortex ecosystem, comprising over 7 million lines of Mu code, supports everything from deal valuation APIs to end-user GUIs for thousands of users. The authors attribute the system's reliability to functional concepts like monads and datatype generics, which they credit for reducing bugs like segmentation faults absent in Mu-only code.

A core technical component is the type-driven QuickRisk API, which constructs minimal computation graphs for pricing and risk analysis using a Work API for separating workflow definition from execution. The bank also built an internal job scheduler, Shepherd, to manage these large-scale, dependent workflows. The team reports that this functional architecture allows a single API to price one trade locally or millions across cloud nodes, with dependent parts recomputing automatically.

Regarding practical outcomes, the authors state their team consistently delivers solutions faster and with fewer developers compared to internal teams using Java and Scala. They also report that hiring over 100 developers primarily focused on Haskell/Mu has not been a limiting factor, with qualified candidates consistently applying for open roles. The paper concludes that the functional approach has been a significant catalyst with no major downsides in their setting, challenging common myths about performance and interoperability in large-scale finance.

Haskell
Haskell Discourse Dec 23, 2023

8 months of OCaml after 8 years of Haskell in production

Dmitrii Kovanikov

A prominent forum thread dissecting an "OCaml after Haskell" blog post evolved into a multi-month debate on Haskell’s industrial viability. Participants, including library maintainers and Haskell Foundation members, identified ecosystem stability as the critical bottleneck, citing costly GHC upgrades and abandoned libraries. The Stability Working Group, championed by key figures like SPJ, was highlighted as a concrete institutional response, producing a formal GHC stability policy. Community sentiment split between optimizing for production use and preserving experimental language evolution, with some contributors stating they are shifting careers due to limited hiring markets outside specific niches like blockchain. Tangible outcomes included the identification of measurable goals for package maintenance health and renewed focus on "Simple Haskell" best practices documentation. The thread itself, with over 100 posts, acted as a gathering point for accumulated concerns regarding tooling fragility and onboarding complexity, underscoring an ongoing cultural reckoning within the community.

Haskell
Hacker News May 3, 2023

Haskell in Production: Standard Chartered

NaeosPsy, HN user

In May 2023, a Hacker News discussion examined Standard Chartered's reported use of Haskell in production, centering on their internal dialect, Mu. The bank's Core Strats team maintains over 6 million lines of Mu code, a strict-by-default variant of Haskell, within their Cortex financial analytics library. Practitioners cited strict evaluation as essential for performance analysis and predictability within their existing C++-based runtime, though it prevents direct reuse of libraries dependent on lazy evaluation.

Commenters debated whether this constitutes a Haskell success story, given the significant language modification. Some noted a recurring pattern of production teams disabling or working around lazy evaluation due to performance costs, while others argued selective strictness is the norm. On hiring, several users with industry experience contested the narrative of difficulty, stating they receive abundant qualified applicants for Haskell roles, though scaling to hundreds of developers presents a different challenge.

The discussion surfaced concrete technical trade-offs: the Mu compiler was developed for strict semantics and code mobility, trading off full ecosystem compatibility for operational needs. The thread provided no new performance data but highlighted a persistent community dialogue on evaluation strategy and ecosystem fragmentation.

Haskell