{"title":"Abstract nonsense","authors":"Júnia Gonçalves","doi":"10.1145/3242903.3242908","DOIUrl":null,"url":null,"abstract":"The notion of effect in programming languages has evolved significantly since the works of Lucassen and Gifford – where an effect system tracks memory regions and enables the improvement of parallel execution – to the point where an algebraic characterisation of effects is proposed. In this work, we seize the such notions to design a calculus, λgenArt, tailored to generative art. We provide the semantics and type system of λgenArt, alongside an effect algebra and a new parallel constructor. We also implemented the calculus as an DSL in the Haskell programming language and introduced optimisations based on the effect information. This work is the first step towards the specification and implementation of a declarative, functional language for generative art based on algebraic effects and handlers.","PeriodicalId":199077,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and Design","volume":"59 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 6th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and Design","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3242903.3242908","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
The notion of effect in programming languages has evolved significantly since the works of Lucassen and Gifford – where an effect system tracks memory regions and enables the improvement of parallel execution – to the point where an algebraic characterisation of effects is proposed. In this work, we seize the such notions to design a calculus, λgenArt, tailored to generative art. We provide the semantics and type system of λgenArt, alongside an effect algebra and a new parallel constructor. We also implemented the calculus as an DSL in the Haskell programming language and introduced optimisations based on the effect information. This work is the first step towards the specification and implementation of a declarative, functional language for generative art based on algebraic effects and handlers.