TY - GEN
T1 - Mimium
T2 - 9th ACM SIGPLAN International Workshop on Functional Art, Music, Modelling, and Design, FARM 2021, co-located with ICFP 2021
AU - Matsuura, Tomoya
AU - Jo, Kazuhiro
N1 - Funding Information:
A part of this study was supported by JSPS KAKENHI (Grant No. JP19K21615), 2019 Exploratory IT Human Resources Project (The MITOU Program) by IPA: INFORMATION TECHNOLOGY PROMOTION AGENCY, Japan and all the contributions for the development of mimium including documentations and financial sponsorships(https://github.com/ mimium-org/mimium#contributors).
Publisher Copyright:
© 2021 ACM.
PY - 2021/8/27
Y1 - 2021/8/27
N2 - We propose a programming language for music named mimium, which combines temporal-discrete control and signal processing in a single language. mimium has an intuitive imperative syntax and can use stateful functions as Unit Generator in the same way as ordinary function definitions and applications. Furthermore, the runtime performance is made equivalent to that of lower-level languages by compiling the code through the LLVM compiler infrastructure. By using the strategy of adding a minimum number of features for sound to the design and implementation of a general-purpose functional language, mimium is expected to lower the learning cost for users, simplify the implementation of compilers, and increase the self-extensibility of the language. In this paper, we present the basic language specification, semantics for simple task scheduling, the semantics for stateful functions, and the compilation process. mimium has certain specifications that have not been achieved in existing languages. Future works suggested include extending the compiler functionality to combine task scheduling with the functional paradigm and introducing multi-stage computation for parametric replication of stateful functions.
AB - We propose a programming language for music named mimium, which combines temporal-discrete control and signal processing in a single language. mimium has an intuitive imperative syntax and can use stateful functions as Unit Generator in the same way as ordinary function definitions and applications. Furthermore, the runtime performance is made equivalent to that of lower-level languages by compiling the code through the LLVM compiler infrastructure. By using the strategy of adding a minimum number of features for sound to the design and implementation of a general-purpose functional language, mimium is expected to lower the learning cost for users, simplify the implementation of compilers, and increase the self-extensibility of the language. In this paper, we present the basic language specification, semantics for simple task scheduling, the semantics for stateful functions, and the compilation process. mimium has certain specifications that have not been achieved in existing languages. Future works suggested include extending the compiler functionality to combine task scheduling with the functional paradigm and introducing multi-stage computation for parametric replication of stateful functions.
UR - http://www.scopus.com/inward/record.url?scp=85117463085&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85117463085&partnerID=8YFLogxK
U2 - 10.1145/3471872.3472969
DO - 10.1145/3471872.3472969
M3 - Conference contribution
AN - SCOPUS:85117463085
T3 - FARM 2021 - Proceedings of the 9th ACM SIGPLAN International Workshop on Functional Art, Music, Modelling, and Design, co-located with ICFP 2021
SP - 1
EP - 12
BT - FARM 2021 - Proceedings of the 9th ACM SIGPLAN International Workshop on Functional Art, Music, Modelling, and Design, co-located with ICFP 2021
A2 - Winograd-Cort, Daniel
A2 - Giavitto, Jean-Louis
PB - Association for Computing Machinery, Inc
Y2 - 27 August 2021
ER -