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:
- Lightning Talk: Generating Castles for Minecraft™ using Haskell (SkillsCast recorded in October 2019)
- Haskell eXchange 2020 (Online Conference on 4th - 5th November 2020)
- What's in a Functional Compiler? (SkillsCast recorded in July 2020)
- The Secrets of the GHC Garbage Collector (SkillsCast recorded in June 2020)
An EDSL for KDB/Q: Rationale, Techniques and Lessons Learned
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.