Please log in to watch this conference skillscast.
Haskell is expressive enough to enable the composition of staged programs, thus giving a powerful and lightweight technique for code generation. This is often referred to as an embedded domain specific language or EDSL. You get all the benefits of the Haskell host language, such as strong static types and principled abstractions. You can also constrain, analyse and optimise these programs to a degree that is not possible when writing in the target language directly.
During this talk, you will explore the experience gained building an EDSL for the KDB/Q database language at Standard Chartered. You will start with their rationale for choosing such an approach; then review techniques such as Higher-order abstract syntax (HOAS), recursion schemes and embedding Algebraic Datatypes. Finally, you will reflect on the success of the project and discuss the lessons learned.
YOU MAY ALSO LIKE:
An EDSL for KDB/Q: Rationale, Techniques and Lessons Learned
Tim Williams has worked as a software developer in the finance industry for 15 years. He has been using Haskell professionally for over 6 years, building contract languages at Barclays, trading systems at Standard Chartered and now distributed ledger technology at Digital Asset. He holds a PhD in Physics from the University of Bristol.