{"title":"A livecoding semantics for functional reactive programming","authors":"Tom Murphy","doi":"10.1145/2975980.2975986","DOIUrl":null,"url":null,"abstract":"Livecoding, while extremely powerful for the arts and beyond, has largely had its semantics tied to pervasive direct mutation of state. For the most part, livecoders have not been able to take full advantage of declarative programming, particularly when dealing with side-effects and the outside world. We present a semantics and implementation for functional reactive programming in the context of livecoding, with code hot-swap as a first-class operation. Programmers are freed from juggling low-level details, allowing them to write in a more declarative style and reap the benefits of pure functional programming.","PeriodicalId":416294,"journal":{"name":"Proceedings of the 4th International Workshop on Functional Art, Music, Modelling, and Design","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","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.2975986","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7
Abstract
Livecoding, while extremely powerful for the arts and beyond, has largely had its semantics tied to pervasive direct mutation of state. For the most part, livecoders have not been able to take full advantage of declarative programming, particularly when dealing with side-effects and the outside world. We present a semantics and implementation for functional reactive programming in the context of livecoding, with code hot-swap as a first-class operation. Programmers are freed from juggling low-level details, allowing them to write in a more declarative style and reap the benefits of pure functional programming.