{"title":"Improved Untyped IntelliSense for JavaScript with Type Carriers and Binders","authors":"Anthony Savidis, Marios Ntoulas","doi":"10.1109/IISA56318.2022.9904413","DOIUrl":null,"url":null,"abstract":"In general, IntelliSense refers to source-code editing facilities that assist software developers in navigating, understanding, avoiding errors, and speeding-up the overall programming process. It is essentially the crossroad of context-sensitive help, intelligent recommendations, auto corrections and adaptive prompting for the programming task. We focus on untyped languages, in particular JavaScript, where the quantity of untyped code constantly grows, even though typing frameworks like Type Script are popular, and the recent ECMA 6 standard favors for typed classes. We present an improved technique for editing-time type inference, built on top of Visual Studio Code IDE and its Language Server Protocol. We introduce type carriers and binders that can capture all possible types of variables, returning results correctly matching the particular source location from which a query is made. We show how this approach offers more informative and descriptive feedback, effectively improving the overall intelligence of JavaScript editors.","PeriodicalId":217519,"journal":{"name":"2022 13th International Conference on Information, Intelligence, Systems & Applications (IISA)","volume":"65 6 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-07-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 13th International Conference on Information, Intelligence, Systems & Applications (IISA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IISA56318.2022.9904413","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
In general, IntelliSense refers to source-code editing facilities that assist software developers in navigating, understanding, avoiding errors, and speeding-up the overall programming process. It is essentially the crossroad of context-sensitive help, intelligent recommendations, auto corrections and adaptive prompting for the programming task. We focus on untyped languages, in particular JavaScript, where the quantity of untyped code constantly grows, even though typing frameworks like Type Script are popular, and the recent ECMA 6 standard favors for typed classes. We present an improved technique for editing-time type inference, built on top of Visual Studio Code IDE and its Language Server Protocol. We introduce type carriers and binders that can capture all possible types of variables, returning results correctly matching the particular source location from which a query is made. We show how this approach offers more informative and descriptive feedback, effectively improving the overall intelligence of JavaScript editors.