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)
- Advanced Scala with Dick Wall (in London on 9th - 11th December 2019)
- Lightbend Scala Language - Expert (in London on 29th April - 1st May 2020)
- Haskell eXchange 2020 (in London on 8th - 9th October 2020)
- Lightning Talk: Making and Testing Code Generators in Haskell (SkillsCast recorded in October 2019)
- GHC Runtime Linker by Example (SkillsCast recorded in October 2019)
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.