CAREER: Live and Direct Programming Environments
CAREER: Live and Direct Programming Environments
批准号:
2238744
负责人:
Cyrus Omar
金额:
$55.0万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2023
资助国家:
美国
项目状态:
未结题
起止时间:
2023-05-01 至 2028-04-30
中文摘要
现代编程环境承诺通过提供上下文反馈,建议和编辑启示,使编码成为认知要求较低的活动。然而,当正在编辑的节目不完整时,它们可能遭受灾难性的服务缺口,即,当有缺失或错误时。在这些情况下,程序员只能自己模拟程序行为--即使对于专业程序员来说,这也是一项困难且容易出错的任务,对于新手来说,这是一个主要的入门障碍。该项目的新颖之处在于,它开发了新一代的编程环境,实现了最大的活性,即,从来不受这些服务差距的影响。最大的活性是通过开发一种新的直接操纵代码编辑界面,基于瓦片的编辑,自动插入程序孔,以保持一个合理的语法和语义结构,即使当程序是不完整的。该项目的影响预计将是教育,专业和创造性编码任务的认知需求的可测量的下降,这将有助于降低进入计算的门槛。关键机制,基于瓦片的编辑,从根本上重新构建代码编辑,以允许直接操纵程序树的线性投影,同时通过自动管理漏洞和重复匹配义务以在内部连续维护语法树来维持最大活性。从那里开始,这个项目扩展了研究人员在最近的工作中开发的语言理论基础,将活性与现代语言功能(如模式匹配(在Haskell和Elm等语言中)和借用(在Rust等语言中))相结合。这些目标语言在研究人员的编程语言课程和针对不同创意社区的教育资源中具有特色,并在那里对研究进行评估。为了支持这些教育工作,该项目开发了新颖的现场辅导和创作服务,利用最大的活性不变提供多种新颖形式的现场,情境化的反馈,帮助和直接操作编辑affordance.This奖项反映了NSF的法定使命,并已被认为是值得通过使用基金会的智力价值和更广泛的影响审查标准进行评估的支持。
英文摘要
Modern programming environments promise to make coding a less cognitively demanding activity by providing contextualized feedback, suggestions, and editing affordances. However, they can suffer from catastrophic gaps in service when the program being edited is incomplete, i.e., when there are missing pieces or errors. The programmer is left to simulate program behavior on their own in these situations -- a difficult and error-prone task even for professional programmers, and a major barrier to entry for novices. This project's novelties are that it develops a new generation of programming environments that achieve maximal liveness, i.e., that never suffer from these gaps in service. Maximal liveness is achieved by developing a novel direct manipulation code editing interface, tile-based editing, that automatically inserts program holes to maintain a sensible syntactic and semantic structure, even when the program is incomplete. The project's impacts are expected to be measurable decreases in the cognitive demand of educational, professional, and creative coding tasks, which will contribute to lowering the barriers to entry into computing.The key mechanism, tile-based editing, fundamentally restructures code editing to allow for direct manipulation of the linearized projection of a program tree, while maintaining maximal liveness by automatically managing holes and delimiter matching obligations to continuously maintain a syntax tree internally. From there, this project scales up the language-theoretic foundations developed in recent work by the investigator, integrating liveness with modern language features like pattern matching (in languages like Haskell and Elm) and borrowing (in languages like Rust). These target languages feature in the investigator's programming languages courses and in educational resources targeting diverse creative communities, where the research is evaluated. In support of these educational efforts, the project develops novel live tutoring and authoring services that leverage the maximal liveness invariant to provide several novel forms of live, contextualized feedback, assistance, and direct manipulation editing affordances.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
期刊论文(2)
专著(0)
科研奖励(0)
会议论文
Live Pattern Matching with Typed Holes
与键入的孔进行实时图案匹配
DOI:
10.1145/3586048
发表时间:
2023
期刊:
Proceedings of the ACM on Programming Languages
影响因子:
--
作者:
[Yuan, Yongwei, Guest, Scott, Griffis, Eric, Potter, Hannah, Moon, David, Omar, Cyrus]
通讯作者:
Omar, Cyrus
DOI:
10.1145/3632910
发表时间:
2024
期刊:
Proceedings of the ACM on Programming Languages
影响因子:
--
作者:
[Zhao, Eric, Maroof, Raef, Dukkipati, Anand, Blinn, Andrew, Pan, Zhiyi, Omar, Cyrus]
通讯作者:
Omar, Cyrus
国内基金
海外基金
虚拟集群Live迁移关键技术研究
-
批准号:61170004
-
项目类别:面上项目
-
资助金额:56.0万元
-
批准年份:2011
-
负责人:魏晓辉
-
依托单位: