可组合的高阶反应器作为实时响应式编程环境的基础

Bjarno Oeyen, Humberto Rodríguez-Avila, Sam Van den Vonder, W. Meuter
{"title":"可组合的高阶反应器作为实时响应式编程环境的基础","authors":"Bjarno Oeyen, Humberto Rodríguez-Avila, Sam Van den Vonder, W. Meuter","doi":"10.1145/3281278.3281284","DOIUrl":null,"url":null,"abstract":"A live programming environment allows programmers to edit programs while they are running. This means that successive \"edit steps\" must not allow a programmer to bring the program in a form that does not make any sense to the underlying language processor (i.e., parser, compiler,...). Many live programming environments therefore rely on disciplined edit steps that are based on language elements such as objects, classes, and methods. Textual modifications to these elements are not seen as edit steps until some \"accept\" button is hit. Unfortunately, no such elements exist in current reactive languages. We present a new reactive language, called Haai, that is based on first-class higher-order reactors. Linguistically, Haai programs correspond to reactors or compositions of reactors. At run-time, reactors produce an infinite stream of values just like signals and behaviours in existing languages. Haai's live programming environment relies on textual modifications of entire reactors as its basic edit steps. Changing a reactor automatically updates all occurrences of that reactor in the reactive program, while it is running.","PeriodicalId":430762,"journal":{"name":"Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems","volume":"12 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Composable higher-order reactors as the basis for a live reactive programming environment\",\"authors\":\"Bjarno Oeyen, Humberto Rodríguez-Avila, Sam Van den Vonder, W. Meuter\",\"doi\":\"10.1145/3281278.3281284\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"A live programming environment allows programmers to edit programs while they are running. This means that successive \\\"edit steps\\\" must not allow a programmer to bring the program in a form that does not make any sense to the underlying language processor (i.e., parser, compiler,...). Many live programming environments therefore rely on disciplined edit steps that are based on language elements such as objects, classes, and methods. Textual modifications to these elements are not seen as edit steps until some \\\"accept\\\" button is hit. Unfortunately, no such elements exist in current reactive languages. We present a new reactive language, called Haai, that is based on first-class higher-order reactors. Linguistically, Haai programs correspond to reactors or compositions of reactors. At run-time, reactors produce an infinite stream of values just like signals and behaviours in existing languages. Haai's live programming environment relies on textual modifications of entire reactors as its basic edit steps. Changing a reactor automatically updates all occurrences of that reactor in the reactive program, while it is running.\",\"PeriodicalId\":430762,\"journal\":{\"name\":\"Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems\",\"volume\":\"12 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-11-04\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3281278.3281284\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3281278.3281284","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

摘要

实时编程环境允许程序员在程序运行时编辑程序。这意味着连续的“编辑步骤”必须不允许程序员以一种对底层语言处理器(即解析器、编译器等)没有任何意义的形式编写程序。因此,许多实时编程环境依赖于基于语言元素(如对象、类和方法)的规则编辑步骤。在点击“接受”按钮之前,对这些元素的文本修改不会被视为编辑步骤。不幸的是,在当前的响应式语言中不存在这样的元素。我们提出了一种新的反应语言,称为Haai,它基于一级高阶反应堆。在语言上,Haai程序对应于反应器或反应器的组成。在运行时,反应器产生无限的值流,就像现有语言中的信号和行为一样。Haai的实时编程环境依赖于整个反应堆的文本修改作为其基本编辑步骤。当反应炉运行时,改变反应炉会自动更新反应炉中发生的所有事件。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Composable higher-order reactors as the basis for a live reactive programming environment
A live programming environment allows programmers to edit programs while they are running. This means that successive "edit steps" must not allow a programmer to bring the program in a form that does not make any sense to the underlying language processor (i.e., parser, compiler,...). Many live programming environments therefore rely on disciplined edit steps that are based on language elements such as objects, classes, and methods. Textual modifications to these elements are not seen as edit steps until some "accept" button is hit. Unfortunately, no such elements exist in current reactive languages. We present a new reactive language, called Haai, that is based on first-class higher-order reactors. Linguistically, Haai programs correspond to reactors or compositions of reactors. At run-time, reactors produce an infinite stream of values just like signals and behaviours in existing languages. Haai's live programming environment relies on textual modifications of entire reactors as its basic edit steps. Changing a reactor automatically updates all occurrences of that reactor in the reactive program, while it is running.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Composable higher-order reactors as the basis for a live reactive programming environment Reactive chatbot programming A reactive language for analyzing cloud logs DISCOPAR: a visual reactive programming language for generating cloud-based participatory sensing platforms RHEA: a reactive, heterogeneous, extensible, and abstract framework for dataflow programming
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1