ICFP 2024
Mon 2 - Sat 7 September 2024 Milan, Italy
Thu 5 Sep 2024 16:42 - 17:00 at Green 1-2-3 - Distributed Systems, Concurrency Chair(s): Michael Sperber

We present a case-study of using functional programming in the real world at a very large scale. At

Standard Chartered Bank, Haskell is used in a core software library supporting the entire

Markets division – a business line with 3 billion USD operating income in 2023.

Typed functional programming is used across the entire tech stack, including foundational APIs and CLIs for deal

valuation and risk analysis, server-side components for long-running batches or sub-second RESTful services, and

end-user GUIs. Thousands of users across Markets interact with software built using functional programming,

and over one hundred write functional code.

In this experience report we focus on how we leverage functional programming to orchestrate type-driven large-scale

pricing workflows. The same API can be used to price one trade locally, or millions of trades across thousands of

cloud nodes. Different parts of the computation can be run and inspected individually, and recomputing one part

triggers recalculation of the dependent parts only. We build upon decades of research and experience in the

functional programming community, relying on concepts such as monads, lenses, datatype generics, and closure

serialisation. We conclude that the use of functional programming is one of the main drivers of the success

of our project, and we see no significant downsides from it.

Thu 5 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

15:30 - 17:00
Distributed Systems, ConcurrencyICFP Papers and Events / JFP First Papers at Green 1-2-3
Chair(s): Michael Sperber Active Group GmbH
15:30
18m
Talk
The Functional, the Imperative, and the Sudoku: Getting Good, Bad, and Ugly to Get Along (Functional Pearl)Functional Pearl
ICFP Papers and Events
Manuel Serrano Inria; Université Côte d’Azur, Robert Bruce Findler Northwestern University
DOI
15:48
18m
Talk
Blame-Correct Support for Receiver Properties in Recursively-Structured Actor Contracts
ICFP Papers and Events
Bram Vandenbogaerde Vrije Universiteit Brussel, Quentin Stiévenart Université du Québec à Montréal, Coen De Roover Vrije Universiteit Brussel
DOI Pre-print
16:06
18m
Talk
A Coq Mechanization of JavaScript Regular Expression Semantics
ICFP Papers and Events
Link to publication DOI Pre-print
16:24
18m
Talk
Alice or Bob?: Process polymorphism in choreographiesJFP First Paper
JFP First Papers
Eva Graversen University of Southern Denmark, Andrew K. Hirsch University at Buffalo, SUNY, Fabrizio Montesi University of Southern Denmark
DOI
16:42
18m
Talk
Functional Programming in Financial Markets (Experience Report)Experience Report
ICFP Papers and Events
Atze Dijkstra Standard Chartered Bank, José Pedro Magalhães Standard Chartered Bank, Pierre Néron Standard Chartered Bank
DOI Pre-print