{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T16:26:06Z","timestamp":1742919966920,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":23,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642164774"},{"type":"electronic","value":"9783642164781"}],"license":[{"start":{"date-parts":[[2010,1,1]],"date-time":"2010-01-01T00:00:00Z","timestamp":1262304000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2010]]},"DOI":"10.1007\/978-3-642-16478-1_10","type":"book-chapter","created":{"date-parts":[[2010,11,2]],"date-time":"2010-11-02T13:07:22Z","timestamp":1288703242000},"page":"159-178","source":"Crossref","is-referenced-by-count":1,"title":["Pull-Ups, Push-Downs, and Passing It Around"],"prefix":"10.1007","author":[{"given":"Sean","family":"Leather","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andres","family":"L\u00f6h","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Johan","family":"Jeuring","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"doi-asserted-by":"crossref","unstructured":"Chakravarty, M.M.T., Keller, G., Peyton Jones, S.L., Marlow, S.: Associated Types with Class. In: POPL, pp. 1\u201313 (2005)","key":"10_CR1","DOI":"10.1145\/1047659.1040306"},{"issue":"1-2","key":"10_CR2","doi-asserted-by":"publisher","first-page":"117","DOI":"10.1016\/j.scico.2003.07.001","volume":"51","author":"R. Hinze","year":"2004","unstructured":"Hinze, R., Jeuring, J., L\u00f6h, A.: Type-indexed data types. Science of Computer Programming\u00a051(1-2), 117\u2013151 (2004)","journal-title":"Science of Computer Programming"},{"doi-asserted-by":"crossref","unstructured":"Sheard, T., Peyton Jones, S.L.: Template Meta-programming for Haskell. In: Haskell, pp. 1\u201316 (2002)","key":"10_CR3","DOI":"10.1145\/581690.581691"},{"issue":"4","key":"10_CR4","doi-asserted-by":"publisher","first-page":"289","DOI":"10.1023\/A:1026547031739","volume":"13","author":"Y.A. Liu","year":"2000","unstructured":"Liu, Y.A.: Efficiency by Incrementalization: An Introduction. Higher-Order and Symbolic Computation\u00a013(4), 289\u2013313 (2000)","journal-title":"Higher-Order and Symbolic Computation"},{"issue":"04","key":"10_CR5","doi-asserted-by":"publisher","first-page":"553","DOI":"10.1017\/S0956796800000885","volume":"3","author":"S. Adams","year":"1993","unstructured":"Adams, S.: Functional Pearls: Efficient sets \u2013 a balancing act. J. of Functional Programming\u00a03(04), 553\u2013561 (1993)","journal-title":"J. of Functional Programming"},{"doi-asserted-by":"crossref","unstructured":"Claessen, K., Hughes, J.: QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs. In: ICFP, pp. 268\u2013279 (2000)","key":"10_CR6","DOI":"10.1145\/357766.351266"},{"issue":"2","key":"10_CR7","first-page":"127","volume":"2","author":"D.E. Knuth","year":"1968","unstructured":"Knuth, D.E.: Semantics of context-free languages. Theory of Computing Systems\u00a02(2), 127\u2013145 (1968)","journal-title":"Theory of Computing Systems"},{"key":"10_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"122","DOI":"10.1007\/3-540-56625-2_11","volume-title":"Mathematics of Program Construction","author":"J. Gibbons","year":"1993","unstructured":"Gibbons, J.: Upwards and downwards accumulations on trees. In: Bird, R.S., Woodcock, J.C.P., Morgan, C.C. (eds.) MPC 1992. LNCS, vol.\u00a0669, pp. 122\u2013138. Springer, Heidelberg (1993)"},{"issue":"05","key":"10_CR9","doi-asserted-by":"publisher","first-page":"549","DOI":"10.1017\/S0956796897002864","volume":"7","author":"G. Huet","year":"1997","unstructured":"Huet, G.: The Zipper. J. of Functional Programming\u00a07(05), 549\u2013554 (1997)","journal-title":"J. of Functional Programming"},{"issue":"3","key":"10_CR10","doi-asserted-by":"publisher","first-page":"239","DOI":"10.1007\/BF00264249","volume":"21","author":"R.S. Bird","year":"1984","unstructured":"Bird, R.S.: Using Circular Programs to Eliminate Multiple Traversals of Data. Acta Informatica\u00a021(3), 239\u2013250 (1984)","journal-title":"Acta Informatica"},{"unstructured":"Swierstra, W.: Why Attribute Grammars Matter. The Monad .Reader 4 (2005)","key":"10_CR11"},{"key":"10_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1007\/3-540-45361-X_3","volume-title":"Implementation of Functional Languages","author":"S.L. Peyton Jones","year":"2001","unstructured":"Peyton Jones, S.L., Marlow, S., Elliott, C.: Stretching the storage manager: weak pointers and stable names in Haskell. In: Mohnen, M., Koopman, P. (eds.) IFL 2000. LNCS, vol.\u00a02011, pp. 37\u201358. Springer, Heidelberg (2001)"},{"unstructured":"Hinze, R.: Memo functions, polytypically! In: Jeuring, J. (ed.) WGP (2000)","key":"10_CR13"},{"doi-asserted-by":"crossref","unstructured":"van Noort, T., Rodriguez Yakushev, A., Holdermans, S., Jeuring, J., Heeren, B.: A lightweight approach to datatype-generic rewriting. In: WGP, pp. 13\u201324 (2008)","key":"10_CR14","DOI":"10.1145\/1411318.1411321"},{"doi-asserted-by":"crossref","unstructured":"Rodriguez Yakushev, A., Holdermans, S., L\u00f6h, A., Jeuring, J.: Generic Programming with Fixed Points for Mutually Recursive Datatypes. In: ICFP, pp. 233\u2013244 (2009)","key":"10_CR15","DOI":"10.1145\/1631687.1596585"},{"doi-asserted-by":"crossref","unstructured":"Leather, S., L\u00f6h, A., Jeuring, J.: Pull-Ups, Push-Downs, and Passing It Around: Exercises in Functional Incrementalization. Technical Report UU-CS-2009-024, Dept. of Information and Computing Sciences, Utrecht University (November 2009)","key":"10_CR16","DOI":"10.1007\/978-3-642-16478-1_10"},{"issue":"1","key":"10_CR17","first-page":"20","volume":"2","author":"M.M. Fokkinga","year":"1991","unstructured":"Fokkinga, M.M., Jeuring, J., Meertens, L., Meijer, E.: A Translation from Attribute Grammars to Catamorphisms. The Squiggolist\u00a02(1), 20\u201326 (1991)","journal-title":"The Squiggolist"},{"key":"10_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"279","DOI":"10.1007\/3-540-46423-9_19","volume-title":"Compiler Construction","author":"J. Saraiva","year":"2000","unstructured":"Saraiva, J., Swierstra, S.D., Kuiper, M.: Functional Incremental Attribute Evaluation. In: Watt, D.A. (ed.) CC 2000. LNCS, vol.\u00a01781, pp. 279\u2013294. Springer, Heidelberg (2000)"},{"doi-asserted-by":"crossref","unstructured":"Viera, M., Swierstra, S.D., Swierstra, W.: Attribute Grammars Fly First-Class: How to do Aspect Oriented Programming in Haskell. In: ICFP, pp. 245\u2013256 (2009)","key":"10_CR19","DOI":"10.1145\/1631687.1596586"},{"unstructured":"Jeuring, J.: Incremental algorithms on lists. In: van Leeuwen, J. (ed.) SION Conference on Computer Science in the Netherlands, pp. 315\u2013335 (1991)","key":"10_CR20"},{"doi-asserted-by":"crossref","unstructured":"Carlsson, M.: Monads for incremental computing. In: ICFP, pp. 26\u201335 (2002)","key":"10_CR21","DOI":"10.1145\/583852.581482"},{"doi-asserted-by":"crossref","unstructured":"Acar, U.A., Blelloch, G.E., Harper, R.: Adaptive functional programming. In: POPL, pp. 247\u2013259 (2002)","key":"10_CR22","DOI":"10.1145\/565816.503296"},{"doi-asserted-by":"crossref","unstructured":"Bernardy, J.P.: Lazy Functional Incremental Parsing. In: Haskell, pp. 49\u201360 (2009)","key":"10_CR23","DOI":"10.1145\/1596638.1596645"}],"container-title":["Lecture Notes in Computer Science","Implementation and Application of Functional Languages"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-16478-1_10","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,6,13]],"date-time":"2020-06-13T12:25:27Z","timestamp":1592051127000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-16478-1_10"}},"subtitle":["Exercises in Functional Incrementalization"],"short-title":[],"issued":{"date-parts":[[2010]]},"ISBN":["9783642164774","9783642164781"],"references-count":23,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-16478-1_10","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2010]]}}}