{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T00:53:00Z","timestamp":1740099180248,"version":"3.37.3"},"publisher-location":"Cham","reference-count":28,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030027674"},{"type":"electronic","value":"9783030027681"}],"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-02768-1_1","type":"book-chapter","created":{"date-parts":[[2018,10,21]],"date-time":"2018-10-21T07:42:27Z","timestamp":1540107747000},"page":"3-23","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Non-linear Pattern Matching with Backtracking for Non-free Data Types"],"prefix":"10.1007","author":[{"given":"Satoshi","family":"Egi","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yuichi","family":"Nishiwaki","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2018,10,22]]},"reference":[{"key":"1_CR1","unstructured":"Attributes::attnf - Wolfram Language Documentation. \nhttp:\/\/reference.wolfram.com\/language\/ref\/message\/Attributes\/attnf.html\n\n. Accessed 14 June 2018"},{"key":"1_CR2","unstructured":"Introduction to Patterns - Wolfram Language Documentation. \nhttp:\/\/reference.wolfram.com\/language\/tutorial\/Introduction-Patterns.html\n\n. Accessed 14 June 2018"},{"key":"1_CR3","unstructured":"Orderless - Wolfram Language Documentation. \nhttp:\/\/reference.wolfram.com\/language\/ref\/Orderless.html\n\n. Accessed 14 June 2018"},{"key":"1_CR4","unstructured":"PAKCS. \nhttps:\/\/www.informatik.uni-kiel.de\/~pakcs\/\n\n. Accessed 14 June 2018"},{"key":"1_CR5","unstructured":"ViewPatterns - GHC. \nhttps:\/\/ghc.haskell.org\/trac\/ghc\/wiki\/ViewPatterns\n\n. Accessed 14 June 2018"},{"key":"1_CR6","unstructured":"The Egison programming language (2011). \nhttps:\/\/www.egison.org\n\n. Accessed 14 June 2018"},{"key":"1_CR7","unstructured":"Egison Mathematics Notebook (2016). \nhttps:\/\/www.egison.org\/math\n\n. Accessed 14 June 2018"},{"issue":"5","key":"1_CR8","doi-asserted-by":"publisher","first-page":"501","DOI":"10.1016\/j.jsc.2010.01.006","volume":"45","author":"S Antoy","year":"2010","unstructured":"Antoy, S.: Programming with narrowing: a tutorial. J. Symb. Comput. 45(5), 501\u2013522 (2010)","journal-title":"J. Symb. Comput."},{"key":"1_CR9","doi-asserted-by":"crossref","unstructured":"Antoy, S.: Constructor-based conditional narrowing. In: Proceedings of the 3rd ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming (2001)","DOI":"10.1145\/773184.773205"},{"issue":"4","key":"1_CR10","doi-asserted-by":"publisher","first-page":"74","DOI":"10.1145\/1721654.1721675","volume":"53","author":"S Antoy","year":"2010","unstructured":"Antoy, S., Hanus, M.: Functional logic programming. Commun. ACM 53(4), 74\u201385 (2010)","journal-title":"Commun. ACM"},{"key":"1_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/978-3-642-22531-4_1","volume-title":"Functional and Constraint Logic Programming","author":"B Bra\u00dfel","year":"2011","unstructured":"Bra\u00dfel, B., Hanus, M., Peem\u00f6ller, B., Reck, F.: KiCS2: a new compiler from Curry to Haskell. In: Kuchen, H. (ed.) WFLP 2011. LNCS, vol. 6816, pp. 1\u201318. Springer, Heidelberg (2011). \nhttps:\/\/doi.org\/10.1007\/978-3-642-22531-4_1"},{"key":"1_CR12","unstructured":"Egi, S.: Non-linear pattern matching against non-free data types with lexical scoping. arXiv preprint \narXiv:1407.0729\n\n (2014)"},{"key":"1_CR13","unstructured":"Egi, S.: Scalar and tensor parameters for importing tensor index notation including Einstein summation notation. In: The Scheme and Functional Programming Workshop (2017)"},{"key":"1_CR14","unstructured":"Egi, S.: Scalar and tensor parameters for importing the notation in differential geometry into programming. arXiv preprint \narXiv:1804.03140\n\n (2018)"},{"key":"1_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"21","DOI":"10.1007\/3-540-63237-9_17","volume-title":"Implementation of Functional Languages","author":"M Erwig","year":"1997","unstructured":"Erwig, M.: Active patterns. In: Kluge, W. (ed.) IFL 1996. LNCS, vol. 1268, pp. 21\u201340. Springer, Heidelberg (1997). \nhttps:\/\/doi.org\/10.1007\/3-540-63237-9_17"},{"issue":"8","key":"1_CR16","doi-asserted-by":"publisher","first-page":"52","DOI":"10.1145\/258949.258955","volume":"32","author":"Martin Erwig","year":"1997","unstructured":"Erwig, M.: Functional programming with graphs. In: ACM SIGPLAN Notices, vol. 32 (1997)","journal-title":"ACM SIGPLAN Notices"},{"issue":"9","key":"1_CR17","doi-asserted-by":"publisher","first-page":"11","DOI":"10.1145\/1631687.1596556","volume":"44","author":"Sebastian Fischer","year":"2009","unstructured":"Fischer, S., Kiselyov, O., Shan, C.: Purely functional lazy non-deterministic programming. In: ACM Sigplan Notices, vol. 44 (2009)","journal-title":"ACM SIGPLAN Notices"},{"key":"1_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"45","DOI":"10.1007\/978-3-540-74610-2_5","volume-title":"Logic Programming","author":"M Hanus","year":"2007","unstructured":"Hanus, M.: Multi-paradigm declarative languages. In: Dahl, V., Niemel\u00e4, I. (eds.) ICLP 2007. LNCS, vol. 4670, pp. 45\u201375. Springer, Heidelberg (2007). \nhttps:\/\/doi.org\/10.1007\/978-3-540-74610-2_5"},{"issue":"2","key":"1_CR19","doi-asserted-by":"publisher","first-page":"197","DOI":"10.1017\/S0956796805005769","volume":"16","author":"R Hinze","year":"2006","unstructured":"Hinze, R., Paterson, R.: Finger trees: a simple general-purpose data structure. J. Funct. Program. 16(2), 197\u2013217 (2006)","journal-title":"J. Funct. Program."},{"key":"1_CR20","unstructured":"Krebber, M.: Non-linear associative-commutative many-to-one pattern matching with sequence variables. arXiv preprint \narXiv:1705.00907\n\n (2017)"},{"key":"1_CR21","first-page":"337","volume":"5","author":"F McBride","year":"1969","unstructured":"McBride, F., Morrison, D., Pengelly, R.: A symbol manipulation system. Mach. Intell. 5, 337\u2013347 (1969)","journal-title":"A symbol manipulation system. Mach. Intell."},{"key":"1_CR22","unstructured":"Okasaki, C.: Views for standard ML. In: SIGPLAN Workshop on ML (1998)"},{"issue":"9","key":"1_CR23","doi-asserted-by":"publisher","first-page":"29","DOI":"10.1145\/1291220.1291159","volume":"42","author":"Don Syme","year":"2007","unstructured":"Syme, D., Neverov, G., Margetson, J.: Extensible pattern matching via a lightweight language extension. In: ACM SIGPLAN Notices, vol. 42 (2007)","journal-title":"ACM SIGPLAN Notices"},{"issue":"2\u20133","key":"1_CR24","doi-asserted-by":"publisher","first-page":"181","DOI":"10.1016\/0167-6423(90)90070-T","volume":"13","author":"S Thompson","year":"1990","unstructured":"Thompson, S.: Lawful functions and program verification in Miranda. Sci. Comput. Program. 13(2\u20133), 181\u2013218 (1990)","journal-title":"Sci. Comput. Program."},{"key":"1_CR25","doi-asserted-by":"crossref","unstructured":"Thompson, S.: Laws in Miranda. In: Proceedings of the 1986 ACM Conference on LISP and Functional Programming (1986)","DOI":"10.1145\/319838.319839"},{"key":"1_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/3-540-46584-7_1","volume-title":"Practical Aspects of Declarative Languages","author":"M Tullsen","year":"1999","unstructured":"Tullsen, M.: First class patterns? In: Pontelli, E., Santos Costa, V. (eds.) PADL 2000. LNCS, vol. 1753, pp. 1\u201315. Springer, Heidelberg (1999). \nhttps:\/\/doi.org\/10.1007\/3-540-46584-7_1"},{"key":"1_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/3-540-15975-4_26","volume-title":"Functional Programming Languages and Computer Architecture","author":"DA Turner","year":"1985","unstructured":"Turner, D.A.: Miranda: a non-strict functional language with polymorphic types. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 1\u201316. Springer, Heidelberg (1985). \nhttps:\/\/doi.org\/10.1007\/3-540-15975-4_26"},{"key":"1_CR28","doi-asserted-by":"crossref","unstructured":"Wadler, P.: Views: a way for pattern matching to cohabit with data abstraction. In: Proceedings of the 14th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (1987)","DOI":"10.1145\/41625.41653"}],"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-030-02768-1_1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2018,10,21]],"date-time":"2018-10-21T07:42:45Z","timestamp":1540107765000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-02768-1_1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783030027674","9783030027681"],"references-count":28,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-02768-1_1","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":"APLAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Asian Symposium on Programming Languages and Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Wellington","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"New Zealand","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":"2 December 2018","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"6 December 2018","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"16","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"aplas2018","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/aplas2018.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}