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)
- Safe and Reproducible Deployments with Immutable Infrastructure (in Online Event on 28th May 2020)
- The Secrets of the GHC Garbage Collector (in Online Event on 11th June 2020)
- Lightning Talk: Making and Testing Code Generators in Haskell (SkillsCast recorded in October 2019)
- Functional Lenses Through a Practical Lens (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.