Vg4uskvcmii1x1a2dgf3
SkillsCast

Structural Typing for Structured Products

8th October 2014 in London at Skills Matter

There are 9 other SkillsCasts available from Haskell eXchange 2014

Please log in to watch this conference skillscast.

492566321 640

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:

Thanks to our sponsors

Structural Typing for Structured Products

Tim Williams

Tim Williams has worked as a software developer in the finance industry for over 14 years. He has programmed Haskell professionally for over 5 years and is currently a member of the Strats team at Standard Chartered Bank, writing trading software in Haskell. He holds a PhD in Physics from the University of Bristol.

Peter Marks

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.