{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T22:08:11Z","timestamp":1742940491644,"version":"3.40.3"},"publisher-location":"Cham","reference-count":25,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030025076"},{"type":"electronic","value":"9783030025083"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1007\/978-3-030-02508-3_18","type":"book-chapter","created":{"date-parts":[[2018,10,13]],"date-time":"2018-10-13T14:22:47Z","timestamp":1539440567000},"page":"333-353","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Double Applicative Functors"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7050-7171","authenticated-orcid":false,"given":"H\u00e4rmel","family":"Nestra","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2018,10,15]]},"reference":[{"key":"18_CR1","doi-asserted-by":"publisher","unstructured":"Ahman, D., Uustalu, T.: Update monads: cointerpreting directed containers. In: Matthes, R., Schubert, A. (eds.) 19th International Conference on Types for Proofs and Programs, TYPES 2013. Leibniz International Proceedings in Informatics, Toulouse, April 2013, vol. 26, pp. 1\u201323. Dagstuhl Publishing, Saarbr\u00fccken\/Wadern (2014). \n                      https:\/\/doi.org\/10.4230\/lipics.types.2013.1","DOI":"10.4230\/lipics.types.2013.1"},{"key":"18_CR2","volume-title":"The Theory of Parsing, Translation, and Compiling. 1: Parsing","author":"AV Aho","year":"1972","unstructured":"Aho, A.V., Ullman, J.D.: The Theory of Parsing, Translation, and Compiling. 1: Parsing. Prentice-Hall, Englewood Cliffs (1972)"},{"key":"18_CR3","unstructured":"Bifunctors and biapplicatives. \n                      https:\/\/github.com\/purescript\/purescript-bifunctors"},{"issue":"1","key":"18_CR4","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1016\/s0019-9958(73)90851-6","volume":"23","author":"A Birman","year":"1973","unstructured":"Birman, A., Ullman, J.D.: Parsing algorithms with backtrack. Inf. Control 23(1), 1\u201334 (1973). \n                      https:\/\/doi.org\/10.1016\/s0019-9958(73)90851-6","journal-title":"Inf. Control"},{"issue":"4","key":"18_CR5","doi-asserted-by":"publisher","first-page":"775","DOI":"10.1017\/s0960129507006056","volume":"17","author":"JRB Cockett","year":"2007","unstructured":"Cockett, J.R.B., Lack, S.: Restriction categories III: colimits, partial limits and extensivity. Math. Struct. Comput. Sci. 17(4), 775\u2013817 (2007). \n                      https:\/\/doi.org\/10.1017\/s0960129507006056","journal-title":"Math. Struct. Comput. Sci."},{"key":"18_CR6","doi-asserted-by":"publisher","unstructured":"Danielsson, N.A., Hughes, J., Jansson, P., Gibbons, J.: Fast and loose reasoning is morally correct. In: Proceedings of 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2006, Charleston, SC, pp. 206\u2013217. ACM Press, New York (2006). \n                      https:\/\/doi.org\/10.1145\/1111037.1111056","DOI":"10.1145\/1111037.1111056"},{"key":"18_CR7","doi-asserted-by":"publisher","unstructured":"Ford, B.: Parsing expression grammars: a recognition-based syntactic foundation. In: Proceedings of 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2004, Venice, January 2004, pp. 111\u2013122. ACM Press, New York (2004). \n                      https:\/\/doi.org\/10.1145\/964001.964011","DOI":"10.1145\/964001.964011"},{"key":"18_CR8","unstructured":"Haskell. \n                      https:\/\/www.haskell.org"},{"key":"18_CR9","unstructured":"Haskell hierarchical libraries. \n                      https:\/\/downloads.haskell.org\/~ghc\/latest\/docs\/html\/libraries\/index.html"},{"key":"18_CR10","unstructured":"Hinze, R.: Lifting operators and laws (2010). \n                      https:\/\/www.cs.ox.ac.uk\/ralf.hinze\/Lifting.pdf"},{"key":"18_CR11","series-title":"Workshops in Computing","doi-asserted-by":"publisher","first-page":"134","DOI":"10.1007\/978-1-4471-3215-8_12","volume-title":"Functional Programming, Glasgow 1992","author":"DJ King","year":"1993","unstructured":"King, D.J., Wadler, P.: Combining monads. In: Launchbury, J., Sansom, P.M. (eds.) Functional Programming, Glasgow 1992. Workshops in Computing, pp. 134\u2013143. Springer, London (1993). \n                      https:\/\/doi.org\/10.1007\/978-1-4471-3215-8_12"},{"key":"18_CR12","unstructured":"Kmett, E.: Biapplicative bifunctors. \n                      https:\/\/hackage.haskell.org\/package\/bifunctors-3.2.0.1\/docs\/Data-Biapplicative.html"},{"key":"18_CR13","doi-asserted-by":"publisher","unstructured":"Liang, S., Hudak, P., Jones, M.P.: Monad transformers and modular interpreters. In: Conference Record of 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1995, San Francisco, CA, January 1995, pp. 333\u2013343. ACM Press, New York (1995). \n                      https:\/\/doi.org\/10.1145\/199448.199528","DOI":"10.1145\/199448.199528"},{"key":"18_CR14","doi-asserted-by":"publisher","unstructured":"Lindley, S.: Algebraic effects and effect handlers for idioms and arrows. In: Proceedings of 10th ACM SIGPLAN Workshop on Generic Programming, WGP 2014, Gothenburg, August 2014, pp. 47\u201358. ACM Press, New York (2014). \n                      https:\/\/doi.org\/10.1145\/2633628.2633636","DOI":"10.1145\/2633628.2633636"},{"issue":"5","key":"18_CR15","doi-asserted-by":"publisher","first-page":"97","DOI":"10.1016\/j.entcs.2011.02.018","volume":"229","author":"S Lindley","year":"2011","unstructured":"Lindley, S., Wadler, P., Yallop, J.: Idioms are oblivious, arrows are meticulous, monads are promiscuous. Electron. Notes Theor. Comput. Sci. 229(5), 97\u2013117 (2011). \n                      https:\/\/doi.org\/10.1016\/j.entcs.2011.02.018","journal-title":"Electron. Notes Theor. Comput. Sci."},{"key":"18_CR16","doi-asserted-by":"publisher","first-page":"129","DOI":"10.1016\/j.scico.2016.08.004","volume":"132","author":"AM Maidl","year":"2016","unstructured":"Maidl, A.M., Mascarenhas, F., Medeiros, S., Ierusalimschy, R.: Error reporting in parsing expression grammars. Sci. Comput. Program. 132, 129\u2013140 (2016). \n                      https:\/\/doi.org\/10.1016\/j.scico.2016.08.004","journal-title":"Sci. Comput. Program."},{"issue":"1","key":"18_CR17","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1017\/s0956796807006326","volume":"18","author":"C McBride","year":"2008","unstructured":"McBride, C., Paterson, R.: Applicative programming with effects. J. Funct. Program. 18(1), 1\u201313 (2008). \n                      https:\/\/doi.org\/10.1017\/s0956796807006326","journal-title":"J. Funct. Program."},{"key":"18_CR18","doi-asserted-by":"publisher","unstructured":"Mizushima, K., Maeda, A., Yamaguchi, Y.: Packrat parsers can handle practical grammars in mostly constant space. In: Proceedings of 9th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, PASTE 2010, Toronto, ON, June 2010, pp. 29\u201336. ACM Press, New York (2010). \n                      https:\/\/doi.org\/10.1145\/1806672.1806679","DOI":"10.1145\/1806672.1806679"},{"key":"18_CR19","unstructured":"Moggi, E.: An abstract view of programming languages. Technical report, ECS-LFCS-90-113, University of Edinburgh (1990)"},{"key":"18_CR20","doi-asserted-by":"publisher","unstructured":"R\u00f6jemo, N.: Highlights from nhc\u2013a space-efficient Haskell compiler. In: Proceedings of 7th International Conference on Functional Programming Languages and Computer Architecture, FPCA 1995, La Jolla, CA, June 1995, pp. 282\u2013292. ACM Press (1995). \n                      https:\/\/doi.org\/10.1145\/224164.224217","DOI":"10.1145\/224164.224217"},{"key":"18_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"252","DOI":"10.1007\/978-3-642-03153-3_6","volume-title":"Language Engineering and Rigorous Software Development","author":"SD Swierstra","year":"2009","unstructured":"Swierstra, S.D.: Combinator parsing: a short tutorial. In: Bove, A., Barbosa, L.S., Pardo, A., Pinto, J.S. (eds.) LerNet 2008. LNCS, vol. 5520, pp. 252\u2013300. Springer, Heidelberg (2009). \n                      https:\/\/doi.org\/10.1007\/978-3-642-03153-3_6"},{"key":"18_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"184","DOI":"10.1007\/3-540-61628-4_7","volume-title":"Advanced Functional Programming","author":"SD Swierstra","year":"1996","unstructured":"Swierstra, S.D., Duponcheel, L.: Deterministic, error-correcting combinator parsers. In: Launchbury, J., Meijer, E., Sheard, T. (eds.) AFP 1996. LNCS, vol. 1129, pp. 184\u2013207. Springer, Heidelberg (1996). \n                      https:\/\/doi.org\/10.1007\/3-540-61628-4_7"},{"key":"18_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"32","DOI":"10.1007\/978-3-319-67729-3_3","volume-title":"International Colloquium on Theoretical Aspects of Computing","author":"T Uustalu","year":"2017","unstructured":"Uustalu, T., Veltri, N.: The delay monad and restriction categories. In: Hung, D.V., Kapur, D. (eds.) ICTAC 2017. LNCS, vol. 10580, pp. 32\u201350. Springer, Cham (2017). \n                      https:\/\/doi.org\/10.1007\/978-3-319-67729-3_3"},{"key":"18_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"406","DOI":"10.1007\/978-3-319-71237-6_20","volume-title":"Programming Languages and Systems","author":"T Uustalu","year":"2017","unstructured":"Uustalu, T., Veltri, N.: Partiality and container monads. In: Chang, B.-Y.E. (ed.) APLAS 2017. LNCS, vol. 10695, pp. 406\u2013425. Springer, Cham (2017). \n                      https:\/\/doi.org\/10.1007\/978-3-319-71237-6_20"},{"issue":"4","key":"18_CR25","doi-asserted-by":"publisher","first-page":"461","DOI":"10.1017\/s0960129500001560","volume":"2","author":"P Wadler","year":"1992","unstructured":"Wadler, P.: Comprehending monads. Math. Struct. Comput. Sci. 2(4), 461\u2013493 (1992). \n                      https:\/\/doi.org\/10.1017\/s0960129500001560","journal-title":"Math. Struct. Comput. Sci."}],"container-title":["Lecture Notes in Computer Science","Theoretical Aspects of Computing \u2013 ICTAC 2018"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-02508-3_18","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,3,3]],"date-time":"2020-03-03T02:49:20Z","timestamp":1583203760000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-02508-3_18"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783030025076","9783030025083"],"references-count":25,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-02508-3_18","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018]]},"assertion":[{"value":"15 October 2018","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ICTAC","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Colloquium on Theoretical Aspects of Computing","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Stellenbosch","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"South Africa","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2018","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"16 October 2018","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19 October 2018","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"15","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"ictac2018","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.ictac.org.za\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}