Once Upon a Cursor: A Tale of Indirect Code Completion
Code completion (CC), the unsung hero of modern programming, has become a norm, an expectation, even a reliance of developers. Modern IDEs and code editors are equipped with sophisticated CC systems that assist developers in writing better code, quicker. From humble beginnings as glorified spell-checkers to today’s AI-driven assistants, completion tools have made programming faster, smoother, and a bit more magical. It guesses, suggests, and sometimes seems to read our minds, providing context-aware suggestions directly at the cursor’s location. But what if completion itself could be a little more… indirect?
This talk invites you to think outside that box, or more precisely, outside that cursor and explore our proposed concept of Indirect Code Completion (ICC). ICC challenges the long-held unwritten assumption that suggestions must strictly be tied to the point of initiation. Instead, ICC allows completions to occur elsewhere in the code, in related, dependent, or contextually linked locations.
By examining ICC through the lens of object-oriented languages, we identify key properties that characterise ICC and distinguish it from traditional direct completion. We also outline a taxonomy that captures over twenty different ICC patterns. These patterns reveal the diverse ways in which indirect completions can manifest, providing a rich framework for understanding and implementing ICC in real-world coding environments.
Beyond convenience, ICC hints at a deeper idea where code is not just static text that can only advance right at the cursor, but a living system where changes can ripple intelligently through related constructs, adapting to the developer’s intent. For programming language researchers and tool-smiths, ICC opens an unfamiliar new frontier to explore, where only few have ventured.
Fri 28 NovDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
09:30 - 10:30 | |||
09:30 15mTalk | What Can We Learn from the History of Programming Languages PLNL 2025 Vadim Zaytsev University of Twente File Attached | ||
09:45 15mTalk | Once Upon a Cursor: A Tale of Indirect Code Completion PLNL 2025 | ||
10:00 15mTalk | The Amsterdam Plot: a big mistake? PLNL 2025 Hans-Dieter Hiep Netherlands Defence Academy File Attached | ||
10:15 15mTalk | On the Phenomenon of Fourth Generation Languages PLNL 2025 | ||