October 2023 Summaries
2 posts from Gel Data
Filter
Month:
Year:
Post Summaries
Back to Blog
EdgeDB is a developer-friendly database designed for ease of use and intuitive experience. The company has been working on developing a Language Server Protocol (LSP) to enhance the developer experience by providing features such as code completion, error highlighting, and automatic code formatting. However, they faced challenges with their existing Python parser, which lacked error recovery capabilities.
To address this issue, EdgeDB explored four different options for improving their parser: Chumsky, Tree-sitter, extending their current parser, and rewriting the parser in Rust. They eventually chose to extend their current parser and rewrite it in Rust. The new Rust parser now produces a concrete syntax tree (CST) that is passed to Python, where it is mapped to an abstract syntax tree (AST).
The benefits of this rewrite include unlocking error recovery during the parsing process and a 26% faster overall EdgeQL query compilation time. The completion of their LSP will further enhance the developer experience by providing features like formatting and linting, making EdgeDB an even more attractive option for developers.
Oct 24, 2023
2,406 words in the original blog post.
EdgeDB, a database designed with developers in mind, has been focusing on enhancing the developer experience by working on a Language Server Protocol (LSP), which would provide code completion, error highlighting, and automatic code formatting in integrated development environments. The main challenge in implementing LSP was the existing parser, which required improvements in error recovery and needed to be rewritten in Rust for compatibility with EdgeDB's CLI and WASM builds. The team explored various options including Chumsky and Tree-sitter but ultimately decided to extend their existing parser and rewrite it in Rust, which resulted in a more efficient parser with a 26% improvement in EdgeQL query compilation speed. This new Rust parser not only enhances current performance but also sets the stage for future developments like LSP, promising a more intuitive and effective experience for developers working with EdgeDB.
Oct 24, 2023
2,585 words in the original blog post.