Structured reactive programming with polymorphic temporal tiles

Simon Archipoff, David Janin
{"title":"Structured reactive programming with polymorphic temporal tiles","authors":"Simon Archipoff, David Janin","doi":"10.1145/2975980.2975984","DOIUrl":null,"url":null,"abstract":"In functional reactive programming (FRP), system inputs and outputs are generally modeled as functions over continuous time (behaviors) whose future values are governed by sudden changes (events). In this approach, discrete events are embedded into piece-wise continuous behaviors. In the field of reactive music system programming, we develop an orthogonal approach that seems to better fit our need. Much like piano keys can be played and combined both in sequence and in parallel, we model system inputs and outputs as spatio temporal combinations of what we call temporal values: continuous functions over time whose domain lays between two events: a start and a stop event. Various high level data types and program constructs can then be derived from such a model. They are shown to satisfy robust algebraic and category theoretic properties. Altogether, this eventually provides a simple, robust and elegant programming front-end, temporal tile programming, for reading, memorizing, stretching, combining and transforming flows of inputs into flows of outputs. Although at its infancy, the resulting approach has been experimentally validated for reactive and real-time music system programming.","PeriodicalId":416294,"journal":{"name":"Proceedings of the 4th International Workshop on Functional Art, Music, Modelling, and Design","volume":"26 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 4th International Workshop on Functional Art, Music, Modelling, and Design","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2975980.2975984","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

Abstract

In functional reactive programming (FRP), system inputs and outputs are generally modeled as functions over continuous time (behaviors) whose future values are governed by sudden changes (events). In this approach, discrete events are embedded into piece-wise continuous behaviors. In the field of reactive music system programming, we develop an orthogonal approach that seems to better fit our need. Much like piano keys can be played and combined both in sequence and in parallel, we model system inputs and outputs as spatio temporal combinations of what we call temporal values: continuous functions over time whose domain lays between two events: a start and a stop event. Various high level data types and program constructs can then be derived from such a model. They are shown to satisfy robust algebraic and category theoretic properties. Altogether, this eventually provides a simple, robust and elegant programming front-end, temporal tile programming, for reading, memorizing, stretching, combining and transforming flows of inputs into flows of outputs. Although at its infancy, the resulting approach has been experimentally validated for reactive and real-time music system programming.
使用多态时间瓦片的结构化响应式编程
在功能反应性编程(FRP)中,系统输入和输出通常被建模为连续时间(行为)的函数,其未来值由突然变化(事件)控制。在这种方法中,离散事件被嵌入到分段连续行为中。在反应式音乐系统编程领域,我们开发了一种正交方法,似乎更适合我们的需要。就像钢琴键可以按顺序或并行地弹奏和组合一样,我们将系统输入和输出建模为我们称之为时间值的时空组合:随时间变化的连续函数,其域位于两个事件之间:开始和停止事件。然后可以从这样的模型派生出各种高级数据类型和程序结构。证明了它们满足鲁棒代数和范畴论性质。总的来说,这最终提供了一个简单、健壮和优雅的编程前端,即时间块编程,用于读取、记忆、拉伸、组合和将输入流转换为输出流。虽然还处于起步阶段,但所得到的方法已经被实验验证为反应性和实时音乐系统编程。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信