{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:32:02Z","timestamp":1750221122058,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":28,"publisher":"ACM","license":[{"start":{"date-parts":[[2018,7,4]],"date-time":"2018-07-04T00:00:00Z","timestamp":1530662400000},"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":[[2018,7,4]]},"DOI":"10.1145\/3282308.3282341","type":"proceedings-article","created":{"date-parts":[[2019,1,9]],"date-time":"2019-01-09T18:42:31Z","timestamp":1547059351000},"page":"1-8","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Three Patterns of Data Type Composition in Programming Languages"],"prefix":"10.1145","author":[{"given":"Ruslan","family":"Batdalov","sequence":"first","affiliation":[{"name":"Riga Technical University, Riga, Latvia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Oksana","family":"Nikiforova","sequence":"additional","affiliation":[{"name":"Riga Technical University, Riga, Latvia"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2018,7,4]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"Apple Inc. 2018. The Swift Programming Language. Apple Inc. https:\/\/docs.swift.org\/swift-book\/TheSwift:ProgrammingLanguageSwift42.epub  Apple Inc. 2018. The Swift Programming Language. Apple Inc. https:\/\/docs.swift.org\/swift-book\/TheSwift:ProgrammingLanguageSwift42.epub"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/3011784.3011822"},{"key":"e_1_3_2_1_3_1","volume-title":"Proceedings of the Eleventh International Conference on Software Engineering Advances (ICSEA","author":"Batdalov Ruslan","year":"2016","unstructured":"Ruslan Batdalov and Oksana Nikiforova . 2016 . Towards Easier Implementation of Design Patterns . In Proceedings of the Eleventh International Conference on Software Engineering Advances (ICSEA 2016). IARIA, 123--128. Ruslan Batdalov and Oksana Nikiforova. 2016. Towards Easier Implementation of Design Patterns. In Proceedings of the Eleventh International Conference on Software Engineering Advances (ICSEA 2016). IARIA, 123--128."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1515\/acss-2016-0012"},{"volume-title":"A System of Patterns","author":"Buschmann Frank","key":"e_1_3_2_1_5_1","unstructured":"Frank Buschmann , Regine Meunier , Hans Rohnert , Peter Sommerlad , and Michael Stal . 2013. Pattern-Oriented Software Architecture , A System of Patterns . Wiley . Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal. 2013. Pattern-Oriented Software Architecture, A System of Patterns. Wiley."},{"key":"e_1_3_2_1_6_1","unstructured":"ECMA-262 2018. ECMAScript\u00ae 2018 Language Specification (ninth ed.). Standard. Ecma International.  ECMA-262 2018. ECMAScript\u00ae 2018 Language Specification (ninth ed.). Standard. Ecma International."},{"volume-title":"ECMA-334 2017. C# Language Specification","key":"e_1_3_2_1_7_1","unstructured":"ECMA-334 2017. C# Language Specification ( fifth ed.). Standard. Ecma International . ECMA-334 2017. C# Language Specification (fifth ed.). Standard. Ecma International."},{"key":"e_1_3_2_1_8_1","unstructured":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne 2018. Scala Standard Library. \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne. http:\/\/www.scala-lang.org\/api\/2.12.7\/  \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne 2018. Scala Standard Library. \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne. http:\/\/www.scala-lang.org\/api\/2.12.7\/"},{"key":"e_1_3_2_1_9_1","volume-title":"Inversion of control. (June","author":"Fowler Martin","year":"2005","unstructured":"Martin Fowler . 2005. Inversion of control. (June 2005 ). https:\/\/www.martinfowler.com\/bliki\/InversionOfControl.html Martin Fowler. 2005. Inversion of control. (June 2005). https:\/\/www.martinfowler.com\/bliki\/InversionOfControl.html"},{"key":"e_1_3_2_1_10_1","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma Erich","year":"1995","unstructured":"Erich Gamma , Richard Helm , Ralph Johnson , and John Vlissides . 1995 . Design Patterns: Elements of Reusable Object-Oriented Software . Addison-Wesley Publishing Company . Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Publishing Company."},{"key":"e_1_3_2_1_11_1","unstructured":"James Gosling Bill Joy Guy Steele Gilad Bracha Alex Buckley and Daniel Smith. 2018. The Java Language Specification. Java SE 11 Edition.  James Gosling Bill Joy Guy Steele Gilad Bracha Alex Buckley and Daniel Smith. 2018. The Java Language Specification. Java SE 11 Edition."},{"key":"e_1_3_2_1_12_1","unstructured":"Philipp Haller Aleksandar Prokopec Heather Miller Viktor Klang Roland Kuhn and Vojin Jovanovic. 2013. Scala Futures and Promises. http:\/\/docs.scala-lang.org\/overviews\/core\/futures.html  Philipp Haller Aleksandar Prokopec Heather Miller Viktor Klang Roland Kuhn and Vojin Jovanovic. 2013. Scala Futures and Promises. http:\/\/docs.scala-lang.org\/overviews\/core\/futures.html"},{"key":"e_1_3_2_1_13_1","volume-title":"Proceedings of the Seventh European Conference on Pattern Languages of Programming, EuroPLoP.","author":"Henney Kevlin","year":"2002","unstructured":"Kevlin Henney . 2002 . Null object . In Proceedings of the Seventh European Conference on Pattern Languages of Programming, EuroPLoP. Kevlin Henney. 2002. Null object. In Proceedings of the Seventh European Conference on Pattern Languages of Programming, EuroPLoP."},{"key":"e_1_3_2_1_14_1","volume-title":"Null References: The Billion Dollar Mistake. (August","author":"Hoare Tony","year":"2009","unstructured":"Tony Hoare . 2009 . Null References: The Billion Dollar Mistake. (August 2009). https:\/\/www.infoq.com\/presentations\/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare Tony Hoare. 2009. Null References: The Billion Dollar Mistake. (August 2009). https:\/\/www.infoq.com\/presentations\/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare"},{"key":"e_1_3_2_1_15_1","unstructured":"ISO\/IEC 14882:2017 2017. Information technology --- Programming languages --- C++. Standard. ISO\/IEC.  ISO\/IEC 14882:2017 2017. Information technology --- Programming languages --- C++. Standard. ISO\/IEC."},{"volume-title":"Information technology --- Database languages --- SQL --- Part 2: Foundation","author":"IEC","key":"e_1_3_2_1_16_1","unstructured":"ISO\/ IEC 9075-2:2016 2016. Information technology --- Database languages --- SQL --- Part 2: Foundation (SQL\/Foundation). Standard. ISO\/IEC. ISO\/IEC 9075-2:2016 2016. Information technology --- Database languages --- SQL --- Part 2: Foundation (SQL\/Foundation). Standard. ISO\/IEC."},{"key":"e_1_3_2_1_17_1","unstructured":"JetBrains 2017. Kotlin Language Documentation. JetBrains. https:\/\/kotlinlang.org\/docs\/kotlin-docs.pdf  JetBrains 2017. Kotlin Language Documentation. JetBrains. https:\/\/kotlinlang.org\/docs\/kotlin-docs.pdf"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-29822-6_15"},{"key":"e_1_3_2_1_19_1","volume-title":"Clean Code: A Handbook of Agile Software Craftsmanship. Pearson Education.","author":"Martin Robert C.","year":"2008","unstructured":"Robert C. Martin . 2008 . Clean Code: A Handbook of Agile Software Craftsmanship. Pearson Education. Robert C. Martin. 2008. Clean Code: A Handbook of Agile Software Craftsmanship. Pearson Education."},{"key":"e_1_3_2_1_20_1","unstructured":"Microsoft Corporation 2018. TypeScript Documentation. Microsoft Corporation. http:\/\/www.typescriptlang.org\/docs\/home.html  Microsoft Corporation 2018. TypeScript Documentation. Microsoft Corporation. http:\/\/www.typescriptlang.org\/docs\/home.html"},{"key":"e_1_3_2_1_21_1","unstructured":"Martin Odersky Philippe Altherr Vincent Cremet Gilles Dubochet Burak Emir Philipp Haller St\u00e9phane Micheloud Nikolay Mihaylov Adriaan Moors Lukas Rytz Michel Schinz Erik Stenman and Matthias Zenger. 2016. Scala Language Specification. http:\/\/scala-lang.org\/files\/archive\/spec\/2.12\/  Martin Odersky Philippe Altherr Vincent Cremet Gilles Dubochet Burak Emir Philipp Haller St\u00e9phane Micheloud Nikolay Mihaylov Adriaan Moors Lukas Rytz Michel Schinz Erik Stenman and Matthias Zenger. 2016. Scala Language Specification. http:\/\/scala-lang.org\/files\/archive\/spec\/2.12\/"},{"key":"e_1_3_2_1_22_1","unstructured":"Martin Odersky and Lex Spoon. 2010. Scala Collections. http:\/\/docs.scala-lang.org\/overviews\/collections\/introduction.html  Martin Odersky and Lex Spoon. 2010. Scala Collections. http:\/\/docs.scala-lang.org\/overviews\/collections\/introduction.html"},{"key":"e_1_3_2_1_23_1","unstructured":"Perl 5 Porters 2017. Language Reference: Perl 5 version 26.1 documentation. Perl 5 Porters. http:\/\/perldoc.perl.org\/5.26.1\/index.html  Perl 5 Porters 2017. Language Reference: Perl 5 version 26.1 documentation. Perl 5 Porters. http:\/\/perldoc.perl.org\/5.26.1\/index.html"},{"volume-title":"Types and Programming Languages","author":"Pierce Benjamin C.","key":"e_1_3_2_1_24_1","unstructured":"Benjamin C. Pierce . 2002. Types and Programming Languages . MIT Press . Benjamin C. Pierce. 2002. Types and Programming Languages. MIT Press."},{"volume-title":"The Python Language Reference","author":"Python Software","key":"e_1_3_2_1_25_1","unstructured":"Python Software Foundation 2018. The Python Language Reference . Python Software Foundation . Python Software Foundation 2018. The Python Language Reference. Python Software Foundation."},{"key":"e_1_3_2_1_26_1","unstructured":"ReactiveX 2018. ReactiveX. http:\/\/reactivex.io\/intro.html  ReactiveX 2018. ReactiveX. http:\/\/reactivex.io\/intro.html"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/91556.91592"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/143165.143169"}],"event":{"name":"EuroPLoP '18: 23rd European Conference on Pattern Languages of Programs","sponsor":["Hillside Europe Hillside Europe"],"location":"Irsee Germany","acronym":"EuroPLoP '18"},"container-title":["Proceedings of the 23rd European Conference on Pattern Languages of Programs"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3282308.3282341","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3282308.3282341","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T01:02:11Z","timestamp":1750208531000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3282308.3282341"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,7,4]]},"references-count":28,"alternative-id":["10.1145\/3282308.3282341","10.1145\/3282308"],"URL":"https:\/\/doi.org\/10.1145\/3282308.3282341","relation":{},"subject":[],"published":{"date-parts":[[2018,7,4]]},"assertion":[{"value":"2018-07-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}