{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,14]],"date-time":"2026-05-14T17:24:02Z","timestamp":1778779442579,"version":"3.51.4"},"publisher-location":"New York, NY, USA","reference-count":38,"publisher":"ACM","license":[{"start":{"date-parts":[[2019,10,7]],"date-time":"2019-10-07T00:00:00Z","timestamp":1570406400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2019,10,7]]},"DOI":"10.1145\/3354166.3354172","type":"proceedings-article","created":{"date-parts":[[2019,9,24]],"date-time":"2019-09-24T12:58:36Z","timestamp":1569329916000},"page":"1-14","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":15,"title":["Functional Reactive Programming, restated"],"prefix":"10.1145","author":[{"given":"Guerric","family":"Chupin","sequence":"first","affiliation":[{"name":"University of Nottingham, Nottingham, United Kingdom"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Henrik","family":"Nilsson","sequence":"additional","affiliation":[{"name":"University of Nottingham, Nottingham, United Kingdom"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2019,10,7]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"Heinrich Apfelmus. [n. d.]. Reactive-Banana: Library for Functional Reactive Programming (FRP). https:\/\/hackage.haskell.org\/package\/reactive-banana.  Heinrich Apfelmus. [n. d.]. Reactive-Banana: Library for Functional Reactive Programming (FRP). https:\/\/hackage.haskell.org\/package\/reactive-banana."},{"key":"e_1_3_2_1_2_1","volume-title":"A Type-Based Analysis of Causality Loops in Hybrid Systems Modelers. Journal of Nonlinear Analysis Hybrid Systems","author":"Benveniste Albert","year":"2017","unstructured":"Albert Benveniste , Timothy Bourke , Benoit Caillaud , Bruno Pagano , and Marc Pouzet . 2017. A Type-Based Analysis of Causality Loops in Hybrid Systems Modelers. Journal of Nonlinear Analysis Hybrid Systems ( 2017 ). Albert Benveniste, Timothy Bourke, Benoit Caillaud, Bruno Pagano, and Marc Pouzet. 2017. A Type-Based Analysis of Causality Loops in Hybrid Systems Modelers. Journal of Nonlinear Analysis Hybrid Systems (2017)."},{"key":"e_1_3_2_1_3_1","volume-title":"Clock-Directed Modular Code Generation for Synchronous Data-flow Languages. In ACM International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES)","author":"Biernacki Dariusz","year":"2008","unstructured":"Dariusz Biernacki , Jean-Louis Colaco , Marc Pouzet , and Gr\u00e9goire Hamon . 2008 . Clock-Directed Modular Code Generation for Synchronous Data-flow Languages. In ACM International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES) . Tucson, Arizona, 10. Dariusz Biernacki, Jean-Louis Colaco, Marc Pouzet, and Gr\u00e9goire Hamon. 2008. Clock-Directed Modular Code Generation for Synchronous Data-flow Languages. In ACM International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES). Tucson, Arizona, 10."},{"key":"e_1_3_2_1_4_1","unstructured":"Daniel B\u00fcnzli. [n. d.]. React Functional Reactive Programming for OCaml. https:\/\/erratique.ch\/talks\/react-ocamlum-2010.pdf. Accessed: 2019-05-09.  Daniel B\u00fcnzli. [n. d.]. React Functional Reactive Programming for OCaml. https:\/\/erratique.ch\/talks\/react-ocamlum-2010.pdf. Accessed: 2019-05-09."},{"key":"e_1_3_2_1_5_1","volume-title":"Cellier and Ernesto Kofman","author":"Francois","year":"2006","unstructured":"Francois E. Cellier and Ernesto Kofman . 2006 . Continuous System Simulation. Springer-Verlag , Berlin, Heidelberg. Francois E. Cellier and Ernesto Kofman. 2006. Continuous System Simulation. Springer-Verlag, Berlin, Heidelberg."},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086365.1086397"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1040305.1040306"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/871895.871897"},{"key":"e_1_3_2_1_9_1","volume-title":"Elm: Concurrent FRP for Functional GUIs. Undergraduate Thesis","author":"Czaplicki Evan","year":"2012","unstructured":"Evan Czaplicki . 2012 . Elm: Concurrent FRP for Functional GUIs. Undergraduate Thesis . Harward University . Evan Czaplicki. 2012. Elm: Concurrent FRP for Functional GUIs. Undergraduate Thesis. Harward University."},{"key":"e_1_3_2_1_11_1","volume-title":"Functional Reactive Animation. In International Conference on Functional Programming.","author":"Elliott Conal","year":"1997","unstructured":"Conal Elliott and Paul Hudak . 1997 . Functional Reactive Animation. In International Conference on Functional Programming. Conal Elliott and Paul Hudak. 1997. Functional Reactive Animation. In International Conference on Functional Programming."},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596638.1596643"},{"key":"e_1_3_2_1_13_1","volume-title":"d.]. Functional reactive programming","author":"FRP","unstructured":"FRP [n. d.]. Functional reactive programming . http:\/\/en.wikipedia.org\/wiki\/Functional_reactive_programming. Accessed: 2019-05-09. FRP [n. d.]. Functional reactive programming. http:\/\/en.wikipedia.org\/wiki\/Functional_reactive_programming. Accessed: 2019-05-09."},{"key":"e_1_3_2_1_14_1","volume-title":"Practical Aspects of Declarative Languages, Paul Hudak and David S","author":"Giorgidze George","unstructured":"George Giorgidze and Henrik Nilsson . 2008. Switched-On Yampa . In Practical Aspects of Declarative Languages, Paul Hudak and David S . Warren (Eds.). Vol. 4902 . Springer Berlin Heidelberg , Berlin, Heidelberg , 282--298. https:\/\/doi.org\/10.1007\/978-3-540-77442-6_19 10.1007\/978-3-540-77442-6_19 George Giorgidze and Henrik Nilsson. 2008. Switched-On Yampa. In Practical Aspects of Declarative Languages, Paul Hudak and David S. Warren (Eds.). Vol. 4902. Springer Berlin Heidelberg, Berlin, Heidelberg, 282--298. https:\/\/doi.org\/10.1007\/978-3-540-77442-6_19"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-24452-0_8"},{"key":"e_1_3_2_1_16_1","volume-title":"Summer School on Advanced Functional Programming","author":"Hudak Paul","year":"2002","unstructured":"Paul Hudak , Antony Courtney , Henrik Nilsson , and John Peterson . 2003. Arrows , Robots, and Functional Reactive Programming . In Summer School on Advanced Functional Programming 2002 , Oxford University (Lecture Notes in Computer Science), Vol. 2638 . Springer-Verlag , 159--187. Paul Hudak, Antony Courtney, Henrik Nilsson, and John Peterson. 2003. Arrows, Robots, and Functional Reactive Programming. In Summer School on Advanced Functional Programming 2002, Oxford University (Lecture Notes in Computer Science), Vol. 2638. Springer-Verlag, 159--187."},{"key":"e_1_3_2_1_17_1","volume-title":"Generalising Monads to Arrows. Science of computer programming 37, 1-3","author":"Hughes John","year":"2000","unstructured":"John Hughes . 2000. Generalising Monads to Arrows. Science of computer programming 37, 1-3 ( 2000 ), 67--111. John Hughes. 2000. Generalising Monads to Arrows. Science of computer programming 37, 1-3 (2000), 67--111."},{"key":"e_1_3_2_1_18_1","volume-title":"Ultrametric Semantics of Reactive Programs. In 2011 IEEE 26th Annual Symposium on Logic in Computer Science. IEEE","author":"Neelakantan","year":"2011","unstructured":"Neelakantan R. Krishnaswami and Nick Benton. 2011 . Ultrametric Semantics of Reactive Programs. In 2011 IEEE 26th Annual Symposium on Logic in Computer Science. IEEE , Toronto, ON, Canada, 257--266. https:\/\/doi.org\/10.1109\/LICS. 2011 .38 10.1109\/LICS.2011.38 Neelakantan R. Krishnaswami and Nick Benton. 2011. Ultrametric Semantics of Reactive Programs. In 2011 IEEE 26th Annual Symposium on Logic in Computer Science. IEEE, Toronto, ON, Canada, 257--266. https:\/\/doi.org\/10.1109\/LICS.2011.38"},{"key":"e_1_3_2_1_19_1","unstructured":"J\u00e9r\u00f4me Mahuet. 2015. Flappy Haskell. https:\/\/github.com\/Rydgel\/flappy-haskell.  J\u00e9r\u00f4me Mahuet. 2015. Flappy Haskell. https:\/\/github.com\/Rydgel\/flappy-haskell."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1291201.1291211"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086365.1086374"},{"key":"e_1_3_2_1_22_1","volume-title":"Funky Grooves: Declarative Programming of Full-Fledged Musical Applications. In 19th International Symposium on Practical Aspects of Declarative Languages (PADL 2017)","volume":"10137","author":"Nilsson Henrik","year":"2017","unstructured":"Henrik Nilsson and Guerric Chupin . 2017 . Funky Grooves: Declarative Programming of Full-Fledged Musical Applications. In 19th International Symposium on Practical Aspects of Declarative Languages (PADL 2017) (Lecture Notes in Computer Science), Yuliya Lierler and Walid Taha (Eds.) , Vol. 10137 . Springer, Paris, 163--172. https:\/\/doi.org\/10.1007\/978-3-319-51676-9_11 10.1007\/978-3-319-51676-9_11 Henrik Nilsson and Guerric Chupin. 2017. Funky Grooves: Declarative Programming of Full-Fledged Musical Applications. In 19th International Symposium on Practical Aspects of Declarative Languages (PADL 2017) (Lecture Notes in Computer Science), Yuliya Lierler and Walid Taha (Eds.), Vol. 10137. Springer, Paris, 163--172. https:\/\/doi.org\/10.1007\/978-3-319-51676-9_11"},{"key":"e_1_3_2_1_23_1","volume-title":"Continued. In Proceedings of the 2002 ACM SIGPLAN Haskell Workshop (Haskell'02)","author":"Nilsson Henrik","year":"2002","unstructured":"Henrik Nilsson , Antony Courtney , and John Peterson . 2002 . Functional Reactive Programming , Continued. In Proceedings of the 2002 ACM SIGPLAN Haskell Workshop (Haskell'02) . ACM, Pittsburgh, Pennsylvania, USA, 51--64. Henrik Nilsson, Antony Courtney, and John Peterson. 2002. Functional Reactive Programming, Continued. In Proceedings of the 2002 ACM SIGPLAN Haskell Workshop (Haskell'02). ACM, Pittsburgh, Pennsylvania, USA, 51--64."},{"key":"e_1_3_2_1_24_1","unstructured":"Brian O'Sullivan. 2009. Criterion a New Benchmarking Library for Haskell. http:\/\/www.serpentine.com\/blog\/2009\/09\/29\/criterion-a-new-benchmarking-library-for-haskell\/.  Brian O'Sullivan. 2009. Criterion a New Benchmarking Library for Haskell. http:\/\/www.serpentine.com\/blog\/2009\/09\/29\/criterion-a-new-benchmarking-library-for-haskell\/."},{"key":"e_1_3_2_1_25_1","unstructured":"Gergely Patai. [n. d.]. Eventless Reactivity from Scratch. ([n. d.]) 15.  Gergely Patai. [n. d.]. Eventless Reactivity from Scratch. ([n. d.]) 15."},{"key":"e_1_3_2_1_26_1","volume-title":"Efficient and Compositional Higher-Order Streams","author":"Patai Gergely","year":"2077","unstructured":"Gergely Patai . 2011. Efficient and Compositional Higher-Order Streams . In Functional and Constraint Logic Programming, Julio Mari\u00f1o (Ed.). Vol. 6559 . Springer Berlin Heidelberg , Berlin, Heidelberg , 137--154. https:\/\/doi.org\/10.1007\/978-3-642- 2077 5-4_8 10.1007\/978-3-642-20775-4_8 Gergely Patai. 2011. Efficient and Compositional Higher-Order Streams. In Functional and Constraint Logic Programming, Julio Mari\u00f1o (Ed.). Vol. 6559. Springer Berlin Heidelberg, Berlin, Heidelberg, 137--154. https:\/\/doi.org\/10.1007\/978-3-642-20775-4_8"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/507635.507664"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1159803.1159811"},{"key":"e_1_3_2_1_29_1","volume-title":"d.]. Reactive extensions","author":"X","unstructured":"Reactive X [n. d.]. Reactive extensions . http:\/\/en.wikipedia.org\/wiki\/Reactive_ extensions. Accessed: 2019-05-09. ReactiveX [n. d.]. Reactive extensions. http:\/\/en.wikipedia.org\/wiki\/Reactive_ extensions. Accessed: 2019-05-09."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10990-011-9068-x"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/12130.12143"},{"key":"e_1_3_2_1_32_1","volume-title":"d.]. Netwire: Library for Functional Reactive Programming (FRP)","author":"S\u00f6ylemez Ertugrul","unstructured":"Ertugrul S\u00f6ylemez . [n. d.]. Netwire: Library for Functional Reactive Programming (FRP) . http:\/\/hackage.haskell.org\/package\/netwire. Accessed: 2019-05-09. Ertugrul S\u00f6ylemez. [n. d.]. Netwire: Library for Functional Reactive Programming (FRP). http:\/\/hackage.haskell.org\/package\/netwire. Accessed: 2019-05-09."},{"key":"e_1_3_2_1_33_1","volume-title":"d.]","author":"S\u00f6ylemez Ertugrul","year":"2019","unstructured":"Ertugrul S\u00f6ylemez . [n. d.] . Wires : Functional Reactive Programming Library . \/\/hackage.haskell.org\/package\/wires. Accessed: 2019 -05-09. Ertugrul S\u00f6ylemez. [n. d.]. Wires: Functional Reactive Programming Library. \/\/hackage.haskell.org\/package\/wires. Accessed: 2019-05-09."},{"key":"e_1_3_2_1_34_1","unstructured":"The GHC Team. [n.d.]. Glasgow Haskell Compiler User's Guide. https:\/\/downloads. haskell.org\/~ghc\/8.6.5\/docs\/html\/users_guide\/ Accessed: 2019-07-01.  The GHC Team. [n.d.]. Glasgow Haskell Compiler User's Guide. https:\/\/downloads. haskell.org\/~ghc\/8.6.5\/docs\/html\/users_guide\/ Accessed: 2019-07-01."},{"key":"e_1_3_2_1_35_1","volume-title":"Pure Functional Epidemics: An Agent-Based Approach. In IFL 2018: The 30th symposium on Implementation and Application of Functional Languages. ACM, 1--12","author":"Thaler Jonathan","year":"2018","unstructured":"Jonathan Thaler , Thorsten Altenkirch , and Peer-Olaf Siebers . 2018 . Pure Functional Epidemics: An Agent-Based Approach. In IFL 2018: The 30th symposium on Implementation and Application of Functional Languages. ACM, 1--12 . Jonathan Thaler, Thorsten Altenkirch, and Peer-Olaf Siebers. 2018. Pure Functional Epidemics: An Agent-Based Approach. In IFL 2018: The 30th symposium on Implementation and Application of Functional Languages. ACM, 1--12."},{"key":"e_1_3_2_1_36_1","volume-title":"Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming (ICFP","author":"van der Ploeg Atze","year":"2015","unstructured":"Atze van der Ploeg and Koen Claessen . 2015 . Practical Principled FRP: Forget the Past, Change the Future, FRPNow! . In Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming (ICFP 2015). ACM, New York, NY, USA, 302--314. https:\/\/doi.org\/10.1145\/2784731.2784752 10.1145\/2784731.2784752 Atze van der Ploeg and Koen Claessen. 2015. Practical Principled FRP: Forget the Past, Change the Future, FRPNow!. In Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming (ICFP 2015). ACM, New York, NY, USA, 302--314. https:\/\/doi.org\/10.1145\/2784731.2784752"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/358438.349331"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2976002.2976019"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103786.2103795"}],"event":{"name":"PPDP '19: Principles and Practice of Programming Languages 2019","location":"Porto Portugal","acronym":"PPDP '19","sponsor":["Sony Sony Corporation"]},"container-title":["Proceedings of the 21st International Symposium on Principles and Practice of Declarative Programming"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3354166.3354172","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3354166.3354172","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:44:56Z","timestamp":1750203896000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3354166.3354172"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,10,7]]},"references-count":38,"alternative-id":["10.1145\/3354166.3354172","10.1145\/3354166"],"URL":"https:\/\/doi.org\/10.1145\/3354166.3354172","relation":{},"subject":[],"published":{"date-parts":[[2019,10,7]]},"assertion":[{"value":"2019-10-07","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}