{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,8,20]],"date-time":"2024-08-20T11:12:55Z","timestamp":1724152375027},"reference-count":39,"publisher":"Springer Science and Business Media LLC","issue":"2","license":[{"start":{"date-parts":[[2009,6,1]],"date-time":"2009-06-01T00:00:00Z","timestamp":1243814400000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Higher-Order Symb Comput"],"published-print":{"date-parts":[[2009,6]]},"DOI":"10.1007\/s10990-009-9047-7","type":"journal-article","created":{"date-parts":[[2009,12,16]],"date-time":"2009-12-16T16:22:24Z","timestamp":1260980544000},"page":"155-189","source":"Crossref","is-referenced-by-count":8,"title":["A principled approach to programming with nested types in Haskell"],"prefix":"10.1007","volume":"22","author":[{"given":"Patricia","family":"Johann","sequence":"first","affiliation":[]},{"given":"Neil","family":"Ghani","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2009,12,17]]},"reference":[{"issue":"1\u20132","key":"9047_CR1","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1016\/j.tcs.2004.10.017","volume":"333","author":"A. Abel","year":"2005","unstructured":"Abel, A., Matthes, R., Uustalu, T.: Iteration and coiteration schemes for higher-order and nested datatypes. Theor. Comput. Sci. 333(1\u20132), 3\u201366 (2005)","journal-title":"Theor. Comput. Sci."},{"key":"9047_CR2","doi-asserted-by":"crossref","unstructured":"Altenkirch, T., Reus, B.: Monadic presentations of lambda terms using generalized inductive types. In:\u00a0Proc., Computer Science Logic, pp. 453\u2013468 (1999)","DOI":"10.1007\/3-540-48168-0_32"},{"issue":"1","key":"9047_CR3","doi-asserted-by":"crossref","first-page":"35","DOI":"10.1016\/0304-3975(90)90151-7","volume":"70","author":"E.S. Bainbridge","year":"1990","unstructured":"Bainbridge, E.S., Freyd, P.J., Scedrov, A., Scott, P.J.: Functorial polymorphism. Theor. Comput. Sci. 70(1), 35\u201364 (1990). Corrigendum in 71(3), 431 (1990)","journal-title":"Theor. Comput. Sci."},{"key":"9047_CR4","unstructured":"Bayley, I.: Generic operations on nested datatypes. Ph.D. Dissertation, University of Oxford (2001)"},{"key":"9047_CR5","doi-asserted-by":"crossref","unstructured":"Bird, R., Meertens, L.: Nested datatypes. In: Proc., Mathematics of Program Construction, pp. 52\u201367 (1998)","DOI":"10.1007\/BFb0054285"},{"issue":"1","key":"9047_CR6","doi-asserted-by":"crossref","first-page":"77","DOI":"10.1017\/S0956796899003366","volume":"9","author":"R. Bird","year":"1999","unstructured":"Bird, R., Paterson, R.: de\u00a0Bruijn notation as a nested datatype. J. Funct. Program. 9(1), 77\u201391 (1999)","journal-title":"J. Funct. Program."},{"issue":"2","key":"9047_CR7","doi-asserted-by":"crossref","first-page":"200","DOI":"10.1007\/s001650050047","volume":"11","author":"R. Bird","year":"1999","unstructured":"Bird, R., Paterson, R.: Generalised folds for nested datatypes. Form. Asp. Comput. 11(2), 200\u2013222 (1999)","journal-title":"Form. Asp. Comput."},{"key":"9047_CR8","unstructured":"Blampied, P.: Structured recursion for non-uniform data-types. Ph.D. Dissertation, University of Nottingham (2000)"},{"issue":"4","key":"9047_CR9","doi-asserted-by":"crossref","first-page":"440","DOI":"10.1007\/BF01211308","volume":"6","author":"P. Dybjer","year":"1994","unstructured":"Dybjer, P.: Inductive families. Form. Asp. Comput. 6(4), 440\u2013465 (1994)","journal-title":"Form. Asp. Comput."},{"key":"9047_CR10","doi-asserted-by":"crossref","unstructured":"Fiore, M., Plotkin, G.D., Turi, D.: Abstract syntax and variable binding. In: Proc., Logic in Computer Science, pp. 193\u2013202 (1999)","DOI":"10.1109\/LICS.1999.782615"},{"key":"9047_CR11","doi-asserted-by":"crossref","unstructured":"Ghani, N., Uustalu, T., Vene, V.: Build, augment and destroy. Universally. In: Proc., Asian Symposium on Programming Languages, pp. 327\u2013347 (2003)","DOI":"10.1007\/978-3-540-30477-7_22"},{"key":"9047_CR12","doi-asserted-by":"crossref","unstructured":"Ghani, N., Johann, P., Uustalu, T., Vene, V.: Monadic augment and generalised short cut fusion. In: Proc., International Conference on Functional Programming, pp. 294\u2013305 (2005)","DOI":"10.1145\/1090189.1086403"},{"key":"9047_CR13","unstructured":"Ghani, N., Haman, M., Uustalu, T., Vene, V.: Representing cyclic structures as nested types. Presented at Trends in Functional Programming (2006)"},{"key":"9047_CR14","unstructured":"Gill., A.: Cheap deforestation for non-strict functional languages. Ph.D. Dissertation, Glasgow University (1996)"},{"key":"9047_CR15","doi-asserted-by":"crossref","unstructured":"Gill, A., Launchbury, J., Peyton Jones, S.L.: A short cut to deforestation. In: Proc., Functional Programming Languages and Computer Architecture, pp. 223\u2013232 (1993)","DOI":"10.1145\/165180.165214"},{"issue":"4","key":"9047_CR16","first-page":"193","volume":"3","author":"R. Hinze","year":"1999","unstructured":"Hinze, R.: Polytypic functions over nested datatypes. Discrete Math. Theor. Comput. Sci. 3(4), 193\u2013214 (1999)","journal-title":"Discrete Math. Theor. Comput. Sci."},{"key":"9047_CR17","unstructured":"Hinze, R.: Efficient generalized folds. In: Proc., Workshop on Generic Programming, pp. 1\u201316 (2000)"},{"issue":"3","key":"9047_CR18","doi-asserted-by":"crossref","first-page":"305","DOI":"10.1017\/S0956796800003701","volume":"10","author":"R. Hinze","year":"2000","unstructured":"Hinze, R.: Functional Pearl: Perfect trees and bit-reversal permutations. J. Funct. Program. 10(3), 305\u2013317 (2000)","journal-title":"J. Funct. Program."},{"key":"9047_CR19","doi-asserted-by":"crossref","unstructured":"Hinze, R.: A new approach to generic functional programming. In: Proc., Principles of Programming Languages, pp. 119\u2013132 (2000)","DOI":"10.1145\/325694.325709"},{"issue":"5","key":"9047_CR20","doi-asserted-by":"crossref","first-page":"493","DOI":"10.1017\/S095679680100404X","volume":"11","author":"R. Hinze","year":"2001","unstructured":"Hinze, R.: Manufacturing datatypes. J. Funct. Program. 11(5), 493\u2013524 (2001)","journal-title":"J. Funct. Program."},{"key":"9047_CR21","doi-asserted-by":"crossref","unstructured":"Hinze, R., Juering, J.: Generic Haskell: applications. In: Generic Programming: Advanced Lectures, pp. 57\u201397 (2003)","DOI":"10.1007\/978-3-540-45191-4_2"},{"key":"9047_CR22","doi-asserted-by":"crossref","unstructured":"Hughes, R.J.M., Swierstra, S.D.: Polish parsers, step by step. In: Proc., International Conference on Functional Programming, pp. 239\u2013248 (2003)","DOI":"10.1145\/944705.944727"},{"key":"9047_CR23","doi-asserted-by":"crossref","unstructured":"Jansson, P., Juering, J.: PolyP\u2014a polytypic programming language extension. In: Proc., Principles of Programming Languages, pp. 470\u2013482 (1997)","DOI":"10.1145\/263699.263763"},{"key":"9047_CR24","doi-asserted-by":"crossref","first-page":"273","DOI":"10.1023\/A:1022982420888","volume":"15","author":"P. Johann","year":"2002","unstructured":"Johann, P.: A generalization of short-cut fusion and its correctness proof. Higher-Order Symb. Comput. 15, 273\u2013300 (2002)","journal-title":"Higher-Order Symb. Comput."},{"key":"9047_CR25","doi-asserted-by":"crossref","unstructured":"Johann, P., Ghani, N.: Initial algebra semantics is enough! In: Proc., Typed Lambda Calculi and Applications, pp. 207\u2013222 (2007)","DOI":"10.1007\/978-3-540-73228-0_16"},{"key":"9047_CR26","doi-asserted-by":"crossref","unstructured":"Johann, P., Ghani, N.: Foundations for structured programming with GADTs. In: Proc., Principles of Programming Languages, pp. 297\u2013308 (2008)","DOI":"10.1145\/1328897.1328475"},{"key":"9047_CR27","volume-title":"Categories for the Working Mathematician","author":"S. MacLane","year":"1971","unstructured":"MacLane, S.: Categories for the Working Mathematician. Springer, Berlin (1971)"},{"issue":"1","key":"9047_CR28","doi-asserted-by":"crossref","first-page":"19","DOI":"10.1007\/s00165-003-0013-6","volume":"16","author":"C. Martin","year":"2004","unstructured":"Martin, C., Gibbons, J., Bayley, I.: Disciplined efficient generalised folds for nested datatypes. Form. Asp. Comput. 16(1), 19\u201335 (2004)","journal-title":"Form. Asp. Comput."},{"issue":"1","key":"9047_CR29","doi-asserted-by":"crossref","first-page":"69","DOI":"10.1017\/S0956796803004829","volume":"14","author":"C. McBride","year":"2004","unstructured":"McBride, C., McKinna, J.: View from the left. J. Funct. Program. 14(1), 69\u2013111 (2004)","journal-title":"J. Funct. Program."},{"key":"9047_CR30","doi-asserted-by":"crossref","unstructured":"Mycroft, A.: Polymorphic type schemes and recursive definitions. In: Proc., International Symposium on Programming, pp. 217\u2013228 (1984)","DOI":"10.1007\/3-540-12925-1_41"},{"key":"9047_CR31","doi-asserted-by":"crossref","DOI":"10.1017\/CBO9780511530104","volume-title":"Purely Functional Data Structures","author":"C. Okasaki","year":"1998","unstructured":"Okasaki, C.: Purely Functional Data Structures. Cambridge University Press, Cambridge (1998)"},{"key":"9047_CR32","volume-title":"Haskell 98 Language and Libraries: The Revised Report","author":"S.L. Peyton Jones","year":"2003","unstructured":"Peyton Jones, S.L.: Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)"},{"key":"9047_CR33","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1017\/S0960129500003066","volume":"10","author":"A. Pitts","year":"2000","unstructured":"Pitts, A.: Parametric polymorphism and operational equivalence. Math. Struct. Comput. Sci. 10, 1\u201339 (2000)","journal-title":"Math. Struct. Comput. Sci."},{"key":"9047_CR34","unstructured":"Pitts, A.: Parametric polymorphism, recursive types, and operational equivalence. Unpublished Manuscript"},{"key":"9047_CR35","doi-asserted-by":"crossref","unstructured":"Plotkin, G., Power, J.: Notions of computation determine monads. In: Proc., Foundations of Software Science and Computation Structure, pp. 342\u2013356 (2002)","DOI":"10.1007\/3-540-45931-6_24"},{"issue":"4","key":"9047_CR36","doi-asserted-by":"crossref","first-page":"761","DOI":"10.1137\/0211062","volume":"11","author":"M.B. Smyth","year":"1982","unstructured":"Smyth, M.B., Plotkin, G.: The category-theoretic solution of recursive domain equations. SIAM J. Comput. 11(4), 761\u2013783 (1982)","journal-title":"SIAM J. Comput."},{"key":"9047_CR37","doi-asserted-by":"crossref","unstructured":"Takano, A., Meijer, E.: Shortcut deforestation in calculational form. In: Proc., Functional Programming Languages and Computer Architecture, pp. 306\u2013313 (1995)","DOI":"10.1145\/224164.224221"},{"issue":"3","key":"9047_CR38","first-page":"343","volume":"6","author":"T. Uustalu","year":"1999","unstructured":"Uustalu, T., Vene, V.: Mendler-style inductive types. Nord. J. Comput. 6(3), 343\u2013361 (1999)","journal-title":"Nord. J. Comput."},{"key":"9047_CR39","unstructured":"Wehr, M.: Non-uniform recursion: The solution (minimal sorting for fold). Available at www.citeseer.ist.psu.edu\/wehr00nonuniform.html"}],"container-title":["Higher-Order and Symbolic Computation"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10990-009-9047-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10990-009-9047-7\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10990-009-9047-7","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,6,1]],"date-time":"2019-06-01T01:29:41Z","timestamp":1559352581000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10990-009-9047-7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,6]]},"references-count":39,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2009,6]]}},"alternative-id":["9047"],"URL":"https:\/\/doi.org\/10.1007\/s10990-009-9047-7","relation":{},"ISSN":["1388-3690","1573-0557"],"issn-type":[{"value":"1388-3690","type":"print"},{"value":"1573-0557","type":"electronic"}],"subject":[],"published":{"date-parts":[[2009,6]]}}}