{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,10]],"date-time":"2024-09-10T13:18:44Z","timestamp":1725974324975},"publisher-location":"Cham","reference-count":40,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319898834"},{"type":"electronic","value":"9783319898841"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1007\/978-3-319-89884-1_3","type":"book-chapter","created":{"date-parts":[[2018,4,13]],"date-time":"2018-04-13T21:02:32Z","timestamp":1523653352000},"page":"60-85","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Dualizing Generalized Algebraic Data Types by Matrix Transposition"],"prefix":"10.1007","author":[{"given":"Klaus","family":"Ostermann","sequence":"first","affiliation":[]},{"given":"Julian","family":"Jabs","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2018,4,14]]},"reference":[{"issue":"1","key":"3_CR1","doi-asserted-by":"publisher","first-page":"27","DOI":"10.1145\/2480359.2429075","volume":"48","author":"Andreas Abel","year":"2013","unstructured":"Abel, A., Pientka, B., Thibodeau, D., Setzer, A.: Copatterns: programming infinite structures by observations. In: Proceedings of the Symposium on Principles of Programming Languages, pp. 27\u201338. ACM (2013)","journal-title":"ACM SIGPLAN Notices"},{"key":"3_CR2","doi-asserted-by":"crossref","unstructured":"Abel, A.M., Pientka, B.: Wellfounded recursion with copatterns: a unified approach to termination and productivity. In: Proceedings of the 18th ACM SIGPLAN International Conference on Functional Programming, ICFP 2013, pp. 185\u2013196. ACM, New York (2013)","DOI":"10.1145\/2500365.2500591"},{"key":"3_CR3","doi-asserted-by":"crossref","unstructured":"Augustsson, L.: A compiler for lazy ML. In: Proceedings of the 1984 ACM Symposium on LISP and Functional Programming, LFP 1984, pp. 218\u2013227. ACM, New York (1984)","DOI":"10.1145\/800055.802038"},{"key":"3_CR4","doi-asserted-by":"publisher","first-page":"135","DOI":"10.1016\/0304-3975(85)90135-5","volume":"39","author":"C B\u00f6hm","year":"1985","unstructured":"B\u00f6hm, C., Berarducci, A.: Automatic synthesis of typed lambda-programs on term algebras. Theor. Comput. Sci. 39, 135\u2013154 (1985)","journal-title":"Theor. Comput. Sci."},{"issue":"5","key":"3_CR5","doi-asserted-by":"publisher","first-page":"509","DOI":"10.1017\/S0956796809007205","volume":"19","author":"J Carette","year":"2009","unstructured":"Carette, J., Kiselyov, O., Shan, C.: Finally tagless, partially evaluated: tagless staged interpreters for simpler typed languages. J. Funct. Program. 19(5), 509\u2013543 (2009)","journal-title":"J. Funct. Program."},{"key":"3_CR6","unstructured":"Chambers, C., Dean, J., Grove, D.: Whole-program optimization of object-oriented languages. University of Washington Seattle, Technical report 96-06 2 (1996)"},{"key":"3_CR7","doi-asserted-by":"crossref","unstructured":"Chen, S., Erwig, M.: Principal type inference for GADTs. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, pp. 416\u2013428. ACM, New York (2016)","DOI":"10.1145\/2837614.2837665"},{"key":"3_CR8","unstructured":"Cheney, J., Hinze, R.: First-class phantom types. Technical report. Cornell University (2003)"},{"key":"3_CR9","volume-title":"Certified Programming with Dependent Types","author":"A Chlipala","year":"2017","unstructured":"Chlipala, A.: Certified Programming with Dependent Types. MIT Press, Cambridge (2017). \nhttp:\/\/adam.chlipala.net\/cpdt\/"},{"key":"3_CR10","doi-asserted-by":"crossref","unstructured":"Clifton, C., Leavens, G.T., Chambers, C., Millstein, T.: MultiJava: modular open classes and symmetric multiple dispatch for Java. In: Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Applications, pp. 130\u2013145. ACM (2000)","DOI":"10.1145\/353171.353181"},{"key":"3_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"151","DOI":"10.1007\/BFb0019443","volume-title":"Foundations of Object-Oriented Languages","author":"WR Cook","year":"1991","unstructured":"Cook, W.R.: Object-oriented programming versus abstract data types. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds.) REX 1990. LNCS, vol. 489, pp. 151\u2013178. Springer, Heidelberg (1991). \nhttps:\/\/doi.org\/10.1007\/BFb0019443"},{"key":"3_CR12","doi-asserted-by":"crossref","unstructured":"Cook, W.R.: On understanding data abstraction, revisited. In: Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Applications, pp. 557\u2013572. ACM (2009)","DOI":"10.1145\/1640089.1640133"},{"issue":"2\u20133","key":"3_CR13","doi-asserted-by":"publisher","first-page":"95","DOI":"10.1016\/0890-5401(88)90005-3","volume":"76","author":"T Coquand","year":"1988","unstructured":"Coquand, T., Huet, G.: The calculus of constructions. Inf. Comput. 76(2\u20133), 95\u2013120 (1988)","journal-title":"Inf. Comput."},{"key":"3_CR14","doi-asserted-by":"crossref","unstructured":"Curien, P.L., Herbelin, H.: The duality of computation. In: Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming, ICFP 2000, pp. 233\u2013243. ACM, New York (2000)","DOI":"10.1145\/351240.351262"},{"key":"3_CR15","doi-asserted-by":"crossref","unstructured":"Danvy, O., Johannsen, J., Zerny, I.: A walk in the semantic park. In: Proceedings of the 20th ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2011, pp. 1\u201312. ACM, New York (2011)","DOI":"10.1145\/1929501.1929503"},{"issue":"8","key":"3_CR16","doi-asserted-by":"publisher","first-page":"534","DOI":"10.1016\/j.scico.2007.10.007","volume":"74","author":"O Danvy","year":"2009","unstructured":"Danvy, O., Millikin, K.: Refunctionalization at work. Sci. Comput. Program. 74(8), 534\u2013549 (2009)","journal-title":"Sci. Comput. Program."},{"key":"3_CR17","doi-asserted-by":"crossref","unstructured":"Danvy, O., Nielsen, L.R.: Defunctionalization at work. In: Proceedings of the Conference on Principles and Practice of Declarative Programming, pp. 162\u2013174 (2001)","DOI":"10.1145\/773184.773202"},{"issue":"7","key":"3_CR18","doi-asserted-by":"publisher","first-page":"739","DOI":"10.1016\/S0167-739X(99)00088-6","volume":"16","author":"S Diehl","year":"2000","unstructured":"Diehl, S., Hartel, P., Sestoft, P.: Abstract machines for programming language implementation. Future Gener. Comput. Syst. 16(7), 739\u2013751 (2000)","journal-title":"Future Gener. Comput. Syst."},{"key":"3_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"249","DOI":"10.1007\/978-3-642-54833-8_14","volume-title":"Programming Languages and Systems","author":"P Downen","year":"2014","unstructured":"Downen, P., Ariola, Z.M.: The duality of construction. In: Shao, Z. (ed.) ESOP 2014. LNCS, vol. 8410, pp. 249\u2013269. Springer, Heidelberg (2014). \nhttps:\/\/doi.org\/10.1007\/978-3-642-54833-8_14"},{"key":"3_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"279","DOI":"10.1007\/11785477_18","volume-title":"ECOOP 2006 \u2013 Object-Oriented Programming","author":"B Emir","year":"2006","unstructured":"Emir, B., Kennedy, A., Russo, C., Yu, D.: Variance and generalized constraints for C$$^{\\sharp }$$\u266f generics. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 279\u2013303. Springer, Heidelberg (2006). \nhttps:\/\/doi.org\/10.1007\/11785477_18"},{"key":"3_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"186","DOI":"10.1007\/BFb0054092","volume-title":"ECOOP\u201998 \u2014 Object-Oriented Programming","author":"MD Ernst","year":"1998","unstructured":"Ernst, M.D., Kaplan, C., Chambers, C.: Predicate dispatching: a unified theory of dispatch. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 186\u2013211. Springer, Heidelberg (1998). \nhttps:\/\/doi.org\/10.1007\/BFb0054092"},{"issue":"1","key":"3_CR22","doi-asserted-by":"publisher","first-page":"3","DOI":"10.1016\/S1571-0661(05)80540-7","volume":"41","author":"M Erwig","year":"2001","unstructured":"Erwig, M., Jones, S.P.: Pattern guards and transformational patterns. Electron. Notes Theor. Comput. Sci. 41(1), 3 (2001)","journal-title":"Electron. Notes Theor. Comput. Sci."},{"issue":"6","key":"3_CR23","doi-asserted-by":"publisher","first-page":"629","DOI":"10.1016\/S0747-7171(89)80065-3","volume":"8","author":"T Hagino","year":"1989","unstructured":"Hagino, T.: Codatatypes in ML. J. Symb. Comput. 8(6), 629\u2013650 (1989)","journal-title":"J. Symb. Comput."},{"key":"3_CR24","doi-asserted-by":"publisher","first-page":"83","DOI":"10.1007\/978-1-4613-1437-0_5","volume-title":"Object Orientation with Parallelism and Persistence","author":"B Jacobs","year":"1995","unstructured":"Jacobs, B.: Objects and classes, coalgebraically. In: Freitag, B., Jones, C.B., Lengauer, C., Schek, H.J. (eds.) Object Orientation with Parallelism and Persistence, vol. 370, pp. 83\u2013103. Springer, Boston (1995). \nhttps:\/\/doi.org\/10.1007\/978-1-4613-1437-0_5"},{"key":"3_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"190","DOI":"10.1007\/3-540-15975-4_37","volume-title":"Functional Programming Languages and Computer Architecture","author":"T Johnsson","year":"1985","unstructured":"Johnsson, T.: Lambda lifting: transforming programs to recursive equations. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 190\u2013203. Springer, Heidelberg (1985). \nhttps:\/\/doi.org\/10.1007\/3-540-15975-4_37"},{"key":"3_CR26","doi-asserted-by":"crossref","unstructured":"Kennedy, A., Russo, C.V.: Generalized algebraic data types and object-oriented programming. In: Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Applications, pp. 21\u201340. ACM (2005)","DOI":"10.1145\/1094811.1094814"},{"key":"3_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"228","DOI":"10.1007\/3-540-48959-2_17","volume-title":"Typed Lambda Calculi and Applications","author":"PB Levy","year":"1999","unstructured":"Levy, P.B.: Call-by-push-value: a subsuming paradigm. In: Girard, J.-Y. (ed.) TLCA 1999. LNCS, vol. 1581, pp. 228\u2013243. Springer, Heidelberg (1999). \nhttps:\/\/doi.org\/10.1007\/3-540-48959-2_17"},{"key":"3_CR28","doi-asserted-by":"crossref","unstructured":"Oliveira, B.C., Moors, A., Odersky, M.: Type classes as objects and implicits. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2010, pp. 341\u2013360. ACM, New York (2010)","DOI":"10.1145\/1869459.1869489"},{"key":"3_CR29","doi-asserted-by":"crossref","unstructured":"Peyton Jones, S., Vytiniotis, D., Weirich, S., Washburn, G.: Simple unification-based type inference for GADTs. In: Proceedings of the Eleventh ACM SIGPLAN International Conference on Functional Programming, ICFP 2006, pp. 50\u201361. ACM, New York (2006)","DOI":"10.1145\/1159803.1159811"},{"key":"3_CR30","volume-title":"Types and Programming Languages","author":"BC Pierce","year":"2002","unstructured":"Pierce, B.C.: Types and Programming Languages. Massachusetts Institute of Technology, Cambridge (2002)"},{"key":"3_CR31","doi-asserted-by":"crossref","unstructured":"Rendel, T., Trieflinger, J., Ostermann, K.: Automatic refunctionalization to a language with copattern matching: with applications to the expression problem. In: Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming, ICFP 2015, pp. 269\u2013279. ACM, New York (2015)","DOI":"10.1145\/2784731.2784763"},{"key":"3_CR32","doi-asserted-by":"crossref","unstructured":"Reynolds, J.C.: Definitional interpreters for higher-order programming languages. In: Proceedings of the ACM Annual Conference, pp. 717\u2013740. ACM (1972)","DOI":"10.1145\/800194.805852"},{"key":"3_CR33","unstructured":"Reynolds, J.C.: User-defined types and procedural data structures as complementary approaches to data abstraction. In: Schuman, S. (ed.) New Directions in Algorithmic Languages 1975, pp. 157\u2013168. IFIP Working Group 2.1 on Algol, INRIA, Rocquencourt, France (1975)"},{"key":"3_CR34","doi-asserted-by":"crossref","unstructured":"Schrijvers, T., Peyton Jones, S., Sulzmann, M., Vytiniotis, D.: Complete and decidable type inference for GADTs. In: Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming, ICFP 2009, pp. 341\u2013352. ACM, New York (2009)","DOI":"10.1145\/1596550.1596599"},{"key":"3_CR35","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"31","DOI":"10.1007\/978-3-319-08918-8_3","volume-title":"Rewriting and Typed Lambda Calculi","author":"A Setzer","year":"2014","unstructured":"Setzer, A., Abel, A., Pientka, B., Thibodeau, D.: Unnesting of copatterns. In: Dowek, G. (ed.) RTA 2014. LNCS, vol. 8560, pp. 31\u201345. Springer, Cham (2014). \nhttps:\/\/doi.org\/10.1007\/978-3-319-08918-8_3"},{"key":"3_CR36","doi-asserted-by":"crossref","unstructured":"Thibodeau, D., Cave, A., Pientka, B.: Indexed codata types. In: Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, ICFP 2016, pp. 351\u2013363. ACM, New York (2016)","DOI":"10.1145\/2951913.2951929"},{"key":"3_CR37","unstructured":"Wadler, P.: The expression problem. Note to Java Genericity mailing list, November 1998"},{"key":"3_CR38","doi-asserted-by":"crossref","unstructured":"Wadler, P.: Call-by-value is dual to call-by-name. In: Proceedings of the Eighth ACM SIGPLAN International Conference on Functional Programming, ICFP 2003, pp. 189\u2013201. ACM, New York (2003)","DOI":"10.1145\/944705.944723"},{"issue":"1","key":"3_CR39","doi-asserted-by":"publisher","first-page":"38","DOI":"10.1006\/inco.1994.1093","volume":"115","author":"A Wright","year":"1994","unstructured":"Wright, A., Felleisen, M.: A syntactic approach to type soundness. Inf. Comput. 115(1), 38\u201394 (1994)","journal-title":"Inf. Comput."},{"key":"3_CR40","doi-asserted-by":"crossref","unstructured":"Xi, H.X., Chiyan, C., Chen, G.: Guarded recursive datatype constructors. In: Proceedings of the Symposium on Principles of Programming Languages, pp. 224\u2013235. ACM (2003)","DOI":"10.1145\/604131.604150"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-89884-1_3","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2018,4,13]],"date-time":"2018-04-13T21:03:45Z","timestamp":1523653425000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-89884-1_3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319898834","9783319898841"],"references-count":40,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-89884-1_3","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018]]}}}