Improved Untyped IntelliSense for JavaScript with Type Carriers and Binders

Anthony Savidis, Marios Ntoulas
{"title":"Improved Untyped IntelliSense for JavaScript with Type Carriers and Binders","authors":"Anthony Savidis, Marios Ntoulas","doi":"10.1109/IISA56318.2022.9904370","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":"56 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.9904370","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.
改进了JavaScript的无类型智能感知,带有类型携带符和绑定符
一般来说,IntelliSense指的是源代码编辑工具,它帮助软件开发人员导航、理解、避免错误,并加快整个编程过程。它本质上是上下文敏感的帮助、智能推荐、自动更正和编程任务的自适应提示的交叉点。我们专注于无类型语言,特别是JavaScript,尽管Type Script这样的类型框架很流行,而且最近的ECMA 6标准更倾向于类型化类,但这里的无类型代码数量仍在不断增长。我们提出了一种改进的编辑时间类型推断技术,它建立在Visual Studio Code IDE及其语言服务器协议之上。我们引入了类型载体和绑定器,它们可以捕获所有可能的变量类型,返回与进行查询的特定源位置正确匹配的结果。我们展示了这种方法如何提供更多信息和描述性的反馈,有效地提高了JavaScript编辑器的整体智能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信