Please log in to watch this conference skillscast.
Join Tim WIlliams & Peter Marks from Barclays for a talk on structural typing for structured products.
In this talk, Peter and Tim will explain structural typing and compare it to the more usual nominal typing. They will present some code examples from an in-house external DSL, Lucid, for describing exotic equity trades and strategies. Lucid features a type-system that makes significant use of row polymorphism, specifically extensible records and their dual, polymorphic sums with extensible cases.
The pair will demonstrate the use of records and extensible cases through example code written in such a way that it can be re-used in other unanticipated contexts. And compare and contrast with other more mainstream approaches, such as object-oriented programming. Lastly, the duo will explore how row-polymorphism can be used to implement a simple effects tracking system for external DSLs.
YOU MAY ALSO LIKE:
- Lightning Talk: Generating Castles for Minecraft™ using Haskell (SkillsCast recorded in October 2019)
- F# eXchange 2020 (Online Conference on 21st October 2020)
- Haskell eXchange 2020 (Online Conference on 3rd - 4th November 2020)
- What's in a Functional Compiler? (SkillsCast recorded in July 2020)
- Intro to OCaml (SkillsCast recorded in June 2020)
Structural Typing for Structured Products
Tim Williams has worked as a software developer in the finance industry for over 15 years. He has been using Haskell professionally for over 7 years, building contract languages at Barclays and trading systems at Standard Chartered. He holds a PhD in Physics from the University of Bristol.
Peter has been developing software for over 30 years. As an active member of the OO community, he was a regular speaker at the OT and SPA conferences. In 1999, he co-founded Connextra, pioneering many of today's main-stream Agile practices. For ten years, Peter's primary interest has been functional programming, and he now leads the FPF team at Barclays, developing languages for modelling Structured Products, and tools for pricing and managing trades, in Haskell.