Project Abstract: My goal for this fellowship is to build a responsive and featureful Haskell editor experience. In order to do this, I will be working on improvements across the entire Haskell IDE spectrum, from the GHC API and the haskell-lsp library that form the backbone of Haskell IDE support to directly user facing changes in [HLS](https://github.com/haskell/haskell-language-server) and [ghcide](https://github.com/digital-asset/ghcide/). A major sub-goal on the way to this is to take advantage of the indexing and caching capabilities offered by [HIE files](https://www.haskell.org/ghc/blog/20190626-HIEFiles.html) and [hiedb](https://github.com/wz1000/HieDb) to support fast, project wide queries like references, jump to definition for dependencies, and best-effort IDE support even in face of compile failures, so that your IDE can aid you when it is most needed, such as when you are in the middle of a big refactor. Along with this, I will be working on improvements to the `ghcide` architecture, to make it more responsive, consume less memory and make optimal use of caching. Our goal is to ensure that the information offered by the IDE should always be at your fingertips and that your flow should never be interrupted by waiting around for the IDE to catch up. Furthermore, the IDE should scale seamlessly from the tiniest single module project to gigantic behemoths spanning thousands of modules and millions of lines of code. I am also going to help in the transition from `haskell-ide-engine` to `haskell-language-server`, so that we can build on `ghcide` to offer a featureful IDE, as well as a platform for other tooling developers to easily integrate their tools into and get them in from of users with minimal effort. You can follow along with our progress with weekly updates at https://mpickering.github.io/ide/ Bio: I am currently a Masters student in Computer Science. I have been involved with Haskell IDEs since 2017 when I completed a Haskell Summer of Code project which led to the first release of `haskell-ide-engine` in its `LSP` incarnation. Since then I have completed two more GSoC projects, allowing `GHC` to emit `.hie` files and working on `hiedb`, `haskell-ide-engine`, `hie-bios`, `cabal-helper` and other tools in the ecosystem.