publications: - title: "REScala: bridging between object-oriented and functional style in reactive applications" author: - name: "Guido Salvaneschi" link: "https://researchr.org/alias/guido-salvaneschi" - name: "Gerold Hintz" link: "https://researchr.org/alias/gerold-hintz" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2014" doi: "http://doi.acm.org/10.1145/2577080.2577083" links: doi: "http://doi.acm.org/10.1145/2577080.2577083" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/aosd/SalvaneschiHM14" researchr: "https://researchr.org/publication/SalvaneschiHM14" cites: 0 citedby: 0 pages: "25-36" booktitle: "13th International Conference on Modularity, MODULARITY '14, Lugano, Switzerland, April 22-26, 2014" editor: - name: "Walter Binder" link: "https://researchr.org/alias/walter-binder" - name: "Erik Ernst" link: "https://researchr.org/alias/erik-ernst" - name: "Achille Peternier" link: "https://researchr.org/alias/achille-peternier" - name: "Robert Hirschfeld" link: "https://researchr.org/alias/robert-hirschfeld" publisher: "ACM" isbn: "978-1-4503-2772-5" kind: "inproceedings" key: "SalvaneschiHM14" - title: "Towards a tight integration of a functional web client language into Scala" author: - name: "Christoph Höger" link: "https://researchr.org/alias/christoph-h%C3%B6ger" - name: "Martin Zuber" link: "https://researchr.org/alias/martin-zuber" year: "2013" doi: "http://doi.acm.org/10.1145/2489837.2489843" links: doi: "http://doi.acm.org/10.1145/2489837.2489843" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/HogerZ13" researchr: "https://researchr.org/publication/HogerZ13" cites: 0 citedby: 0 booktitle: "Proceedings of the 4th Workshop on Scala, SCALA@ECOOP 2013, Montpellier, France, July 2, 2013" publisher: "ACM" isbn: "978-1-4503-2064-1" kind: "inproceedings" key: "HogerZ13" - title: "Ur/Web: A Simple Model for Programming the Web" author: - name: "Adam Chlipala" link: "https://researchr.org/alias/adam-chlipala" year: "2015" doi: "http://doi.acm.org/10.1145/2676726.2677004" links: doi: "http://doi.acm.org/10.1145/2676726.2677004" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/popl/Chlipala15" researchr: "https://researchr.org/publication/Chlipala15" cites: 0 citedby: 0 pages: "153-165" booktitle: "Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015, Mumbai, India, January 15-17, 2015" editor: - name: "Sriram K. Rajamani" link: "https://researchr.org/alias/sriram-k.-rajamani" - name: "David Walker" link: "https://researchr.org/alias/david-walker" publisher: "ACM" isbn: "978-1-4503-3300-9" kind: "inproceedings" key: "Chlipala15" - title: "Flapjax: a programming language for Ajax applications" author: - name: "Leo A. Meyerovich" link: "https://researchr.org/alias/leo-a.-meyerovich" - name: "Arjun Guha" link: "https://researchr.org/alias/arjun-guha" - name: "Jacob P. Baskin" link: "https://researchr.org/alias/jacob-p.-baskin" - name: "Gregory H. Cooper" link: "https://researchr.org/alias/gregory-h.-cooper" - name: "Michael Greenberg" link: "https://researchr.org/alias/michael-greenberg" - name: "Aleks Bromfield" link: "https://researchr.org/alias/aleks-bromfield" - name: "Shriram Krishnamurthi" link: "http://www.cs.brown.edu/~sk/" year: "2009" doi: "http://doi.acm.org/10.1145/1640089.1640091" links: doi: "http://doi.acm.org/10.1145/1640089.1640091" tags: - "programming languages" - "AJAX" - "programming" researchr: "https://researchr.org/publication/MeyerovichGBCGBK09" cites: 0 citedby: 0 pages: "1-20" booktitle: "Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, October 25-29, 2009, Orlando, Florida, USA" editor: - name: "Shail Arora" link: "https://researchr.org/alias/shail-arora" - name: "Gary T. Leavens" link: "https://researchr.org/alias/gary-t.-leavens" publisher: "ACM" isbn: "978-1-60558-766-0" kind: "inproceedings" key: "MeyerovichGBCGBK09" - title: "IceDust: Incremental and Eventual Computation of Derived Values in Persistent Object Graphs" author: - name: "Daco Harkes" link: "http://nl.linkedin.com/in/dcharkes" - name: "Danny M. Groenewegen" link: "https://www.linkedin.com/in/dannygroenewegen/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2016" doi: "http://dx.doi.org/10.4230/LIPIcs.ECOOP.2016.11" abstract: "Derived values are values calculated from base values. They can be expressed in object-oriented languages by means of getters calculating the derived value, and in relational or logic databases by means of (materialized) views. However, switching to a different calculation strategy (for example caching) in object-oriented programming requires invasive code changes, and the databases limit expressiveness by disallowing recursive aggregation. In this paper, we present IceDust, a data modeling language for expressing derived attribute values without committing to a calculation strategy. IceDust provides three strategies for calculating derived values in persistent object graphs: Calculate-on-Read, Calculate-on-Write, and Calculate-Eventually. We have developed a path-based abstract interpretation that provides static dependency analysis to generate code for these strategies. Benchmarks show that different strategies perform better in different scenarios. In addition we have conducted a case study that suggests that derived value calculations of systems used in practice can be expressed in IceDust. " links: doi: "http://dx.doi.org/10.4230/LIPIcs.ECOOP.2016.11" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/HarkesGV16" researchr: "https://researchr.org/publication/HarkesGV16" cites: 0 citedby: 0 booktitle: "30th European Conference on Object-Oriented Programming, ECOOP 2016, July 18-22, 2016, Rome, Italy" editor: - name: "Shriram Krishnamurthi" link: "https://researchr.org/alias/shriram-krishnamurthi" - name: "Benjamin S. Lerner" link: "https://researchr.org/alias/benjamin-s.-lerner" volume: "56" series: "LIPIcs" publisher: "Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik" isbn: "978-3-95977-014-9" kind: "inproceedings" key: "HarkesGV16" - title: "An optimal decomposition algorithm for tree edit distance" author: - name: "Erik D. Demaine" link: "https://researchr.org/alias/erik-d.-demaine" - name: "Shay Mozes" link: "https://researchr.org/alias/shay-mozes" - name: "Benjamin Rossman" link: "https://researchr.org/alias/benjamin-rossman" - name: "Oren Weimann" link: "https://researchr.org/alias/oren-weimann" year: "2009" doi: "http://doi.acm.org/10.1145/1644015.1644017" links: doi: "http://doi.acm.org/10.1145/1644015.1644017" tags: - "edit distance" researchr: "https://researchr.org/publication/DemaineMRW09" cites: 0 citedby: 0 journal: "ACM Transactions on Algorithms" volume: "6" number: "1" kind: "article" key: "DemaineMRW09" - title: "Experience Report: Functional Reactive Programming and the DOM" author: - name: "Bob Reynders" link: "https://researchr.org/alias/bob-reynders" - name: "Dominique Devriese" link: "https://researchr.org/alias/dominique-devriese" - name: "Frank Piessens" link: "https://researchr.org/alias/frank-piessens" year: "2017" doi: "http://doi.acm.org/10.1145/3079368.3079405" links: doi: "http://doi.acm.org/10.1145/3079368.3079405" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/programming/ReyndersDP17" researchr: "https://researchr.org/publication/ReyndersDP17" cites: 0 citedby: 0 booktitle: "Companion to the first International Conference on the Art, Science and Engineering of Programming, Programming 2017, Brussels, Belgium, April 3-6, 2017" editor: - name: "Jennifer B. Sartor" link: "https://researchr.org/alias/jennifer-b.-sartor" - name: "Theo D'Hondt" link: "https://researchr.org/alias/theo-d%27hondt" - name: "Wolfgang De Meuter" link: "https://researchr.org/alias/wolfgang-de-meuter" publisher: "ACM" isbn: "978-1-4503-4836-2" kind: "inproceedings" key: "ReyndersDP17" - title: "Composing Reactive GUIs in F# Using WebSharper" author: - name: "Joel Bjornson" link: "https://researchr.org/alias/joel-bjornson" - name: "Anton Tayanovskyy" link: "https://researchr.org/alias/anton-tayanovskyy" - name: "Adam Granicz" link: "https://researchr.org/alias/adam-granicz" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-24276-2_13" links: doi: "http://dx.doi.org/10.1007/978-3-642-24276-2_13" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ifl/BjornsonTG10" researchr: "https://researchr.org/publication/BjornsonTG10" cites: 0 citedby: 0 pages: "203-216" booktitle: "Implementation and Application of Functional Languages - 22nd International Symposium, IFL 2010, Alphen aan den Rijn, The Netherlands, September 1-3, 2010, Revised Selected Papers" editor: - name: "Jurriaan Hage" link: "https://researchr.org/alias/jurriaan-hage" - name: "Marco T. Morazán" link: "https://researchr.org/alias/marco-t.-moraz%C3%A1n" volume: "6647" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-24275-5" kind: "inproceedings" key: "BjornsonTG10" - title: "Reactive programming with reactive variables" author: - name: "Christopher Schuster" link: "https://researchr.org/alias/christopher-schuster" - name: "Cormac Flanagan" link: "https://researchr.org/alias/cormac-flanagan" year: "2016" doi: "http://doi.acm.org/10.1145/2892664.2892666" links: doi: "http://doi.acm.org/10.1145/2892664.2892666" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/aosd/SchusterF16" researchr: "https://researchr.org/publication/SchusterF16" cites: 0 citedby: 0 pages: "29-33" booktitle: "Companion Proceedings of the 15th International Conference on Modularity, Málaga, Spain, March 14 - 18, 2016" editor: - name: "Lidia Fuentes" link: "https://researchr.org/alias/lidia-fuentes" - name: "Don S. Batory" link: "https://researchr.org/alias/don-s.-batory" - name: "Krzysztof Czarnecki" link: "https://researchr.org/alias/krzysztof-czarnecki" publisher: "ACM" isbn: "978-1-4503-4033-5" kind: "inproceedings" key: "SchusterF16" - title: "IceDust 2: Derived Bidirectional Relations and Calculation Strategy Composition" author: - name: "Daco Harkes" link: "http://nl.linkedin.com/in/dcharkes" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2017" doi: "https://doi.org/10.4230/LIPIcs.ECOOP.2017.14" abstract: "Derived values are values calculated from base values. They can be expressed with views in relational databases, or with expressions in incremental or reactive programming. However, relational views do not provide multiplicity bounds, and incremental and reactive programming require significant boilerplate code in order to encode bidirectional derived values. Moreover, the composition of various strategies for calculating derived values is either disallowed, or not checked for producing derived values which will be consistent with the derived values they depend upon. In this paper we present IceDust2, an extension of the declarative data modeling language IceDust with derived bidirectional relations with multiplicity bounds and support for statically checked composition of calculation strategies. Derived bidirectional relations, multiplicity bounds, and calculation strategies all influence runtime behavior of changes to data, leading to hundreds of possible behavior definitions. IceDust2 uses a product-line based code generator to avoid explicitly defining all possible combinations, making it easier to reason about correctness. The type system allows only sound composition of strategies and guarantees multiplicity bounds. Finally, our case studies validate the usability of IceDust2 in applications. " links: doi: "https://doi.org/10.4230/LIPIcs.ECOOP.2017.14" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/HarkesV17" researchr: "https://researchr.org/publication/HarkesV17" cites: 0 citedby: 0 booktitle: "31st European Conference on Object-Oriented Programming, ECOOP 2017, June 19-23, 2017, Barcelona, Spain" editor: - name: "Peter Müller" link: "https://researchr.org/alias/peter-m%C3%BCller" volume: "74" series: "LIPIcs" publisher: "Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik" isbn: "978-3-95977-035-4" kind: "inproceedings" key: "HarkesV17" - title: "Asynchronous functional reactive programming for GUIs" author: - name: "Evan Czaplicki" link: "https://researchr.org/alias/evan-czaplicki" - name: "Stephen Chong" link: "https://researchr.org/alias/stephen-chong" year: "2013" doi: "https://doi.org/10.1145/2491956.2462161" links: doi: "https://doi.org/10.1145/2491956.2462161" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/pldi/CzaplickiC13" researchr: "https://researchr.org/publication/CzaplickiC13" cites: 0 citedby: 0 pages: "411-422" booktitle: "ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '13, Seattle, WA, USA, June 16-19, 2013" editor: - name: "Hans-Juergen Boehm" link: "https://researchr.org/alias/hans-juergen-boehm" - name: "Cormac Flanagan" link: "https://researchr.org/alias/cormac-flanagan" publisher: "ACM" isbn: "978-1-4503-2014-6" kind: "inproceedings" key: "CzaplickiC13" - title: "Reactive Single-Page Applications with Dynamic Dataflow" author: - name: "Simon Fowler" link: "https://researchr.org/alias/simon-fowler" - name: "Loïc Denuzière" link: "https://researchr.org/alias/lo%C3%AFc-denuzi%C3%A8re" - name: "Adam Granicz" link: "https://researchr.org/alias/adam-granicz" year: "2015" doi: "http://dx.doi.org/10.1007/978-3-319-19686-2_5" links: doi: "http://dx.doi.org/10.1007/978-3-319-19686-2_5" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/padl/FowlerDG15" researchr: "https://researchr.org/publication/FowlerDG15" cites: 0 citedby: 0 pages: "58-73" booktitle: "Practical Aspects of Declarative Languages - 17th International Symposium, PADL 2015, Portland, OR, USA, June 18-19, 2015. Proceedings" editor: - name: "Enrico Pontelli" link: "https://researchr.org/alias/enrico-pontelli" - name: "Tran Cao Son" link: "https://researchr.org/alias/tran-cao-son" volume: "9131" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-319-19685-5" kind: "inproceedings" key: "FowlerDG15" - title: "Declaratively programming the mobile web with Mobl" author: - name: "Zef Hemel" link: "http://zef.me" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "http://doi.acm.org/10.1145/2048066.2048121" abstract: "A new generation of mobile touch devices, such as the iPhone, iPad and Android devices, are equipped with powerful, modern browsers. However, regular websites are not optimized for the specific features and constraints of these devices, such as limited screen estate, unreliable Internet access, touch-based interaction patterns, and features such as GPS. While recent advances in web technology enable web developers to build web applications that take advantage of the unique properties of mobile devices, developing such applications exposes a number of problems, specifically: developers are required to use many loosely coupled languages with limited tool support and application code is often verbose and imperative. We introduce mobl, a new language designed to declaratively construct mobile web applications. Mobl integrates languages for user interface design, styling, data modeling, querying and application logic into a single, unified language that is flexible, expressive, enables early detection of errors, and has good IDE support." links: doi: "http://doi.acm.org/10.1145/2048066.2048121" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/HemelV11" technicalreport: "https://researchr.org/publication/HemelVisser2011-TUD-SERG-2011-024" researchr: "https://researchr.org/publication/HemelV11" cites: 0 citedby: 0 pages: "695-712" booktitle: "Proceedings of the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2011, Portland, OR, USA, October 22 - 27, 2011" editor: - name: "Cristina Videira Lopes" link: "https://researchr.org/alias/cristina-videira-lopes" - name: "Kathleen Fisher" link: "https://researchr.org/alias/kathleen-fisher" publisher: "ACM" isbn: "978-1-4503-0940-0" kind: "inproceedings" key: "HemelV11"