Please log in to watch this conference skillscast.
HLS is a popular Haskell IDE: fast, feature-rich, extensible, easy to install and ubiquitous. But what happens when you try to use it in a very large enterprise codebase?
To understand the performance characteristics, we will deep dive into the ghcide build graph and execution model to characterise the amount of work done per keystroke. We will learn that currently the work is proportional to the number of import declarations and that this doesn't scale well. To address this issue we extend HLS to track the build nodes changed since last build and obtain a reactive build graph where the amount of work is proportional only to the number of nodes changed and their reverse dependency closure.
HLS is an IDE engine built on top of a build system. The programming model is fantastic, and this talk shows that it also has an efficient execution model. Moreover, the talk will hopefully shed some light on the internals and serve as a resource for current and future HLS contributors.
YOU MAY ALSO LIKE:
- Haskell at Work (Online Workshop on 30th January - 2nd February 2023)
- Haskell eXchange 2022: In-Person Conference (in London on 8th - 9th December 2022)
- Haskell eXchange 2022: Online Conference (Online Conference on 8th - 9th December 2022)
- Haskell: Why and How the External STG Interpreter is Useful (SkillsCast recorded in December 2021)
- Keynote — Haskell: What To Do When Success Can't Be Avoided (SkillsCast recorded in November 2021)