Optimizing an IDE for an Evolving Language Ecosystem
Adam Welc, Todd Nowacki, Dario Russi, Cameron Swords, Timothy A. K. Zakian

TL;DR
This paper presents a strategy for developing a high-performance, feature-rich IDE for the evolving Move smart contract language ecosystem, leveraging the Language Server Protocol and core compiler infrastructure.
Contribution
It introduces a scalable IDE development approach tailored for an evolving language ecosystem, emphasizing infrastructure evolution and optimization techniques.
Findings
Utilized Language Server Protocol for IDE support.
Implemented infrastructure optimizations for language growth.
Shared lessons learned for similar future developments.
Abstract
This paper describes a strategy for developing a high performance and feature-rich IDE for an evolving smart contract language ecosystem. Our target is Move, a programming language for the Sui smart contracts platform. The strategy we chose to support the Move language ecosystem utilizes Language Server Protocol (LSP) and it is based on the already existing "core" language machinery, in particular the core language compiler. We discuss alternatives we considered, as well as the evolution of our infrastructure that was necessary to keep up with the growth of the language ecosystem, particularly with respect to optimizations (and their impact) that needed to be implemented to accommodate this growth. We conclude with lessons learned during the IDE support development process that we hope will be beneficial for others attempting to follow a similar path.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
