{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T14:47:22Z","timestamp":1740149242216,"version":"3.37.3"},"reference-count":21,"publisher":"Springer Science and Business Media LLC","issue":"2","license":[{"start":{"date-parts":[[2022,7,1]],"date-time":"2022-07-01T00:00:00Z","timestamp":1656633600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,7,1]],"date-time":"2022-07-01T00:00:00Z","timestamp":1656633600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["New Gener. Comput."],"published-print":{"date-parts":[[2022,7]]},"DOI":"10.1007\/s00354-022-00177-z","type":"journal-article","created":{"date-parts":[[2022,7,21]],"date-time":"2022-07-21T11:10:42Z","timestamp":1658401842000},"page":"481-506","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Embedding Non-linear Pattern Matching with Backtracking for Non-free Data Types into Haskell"],"prefix":"10.1007","volume":"40","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-1003-6846","authenticated-orcid":false,"given":"Satoshi","family":"Egi","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Akira","family":"Kawata","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mayuko","family":"Kori","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hiromi","family":"Ogawa","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2022,7,21]]},"reference":[{"unstructured":"ViewPatterns-GHC. https:\/\/ghc.haskell.org\/trac\/ghc\/wiki\/ViewPatterns (2015). [Online; accessed 14-June-2018]","key":"177_CR1"},{"doi-asserted-by":"crossref","unstructured":"Egi, S.: Scheme Macros for Non-linear Pattern Matching with Backtracking for Non-free Data Types. In: The Scheme and Functional Programming Workshop (2019)","key":"177_CR2","DOI":"10.1007\/978-3-030-02768-1_1"},{"doi-asserted-by":"crossref","unstructured":"Egi, S., Nishiwaki, Y.: Non-linear pattern matching with backtracking for non-free data types. In: Asian Symposium on Programming Languages and Systems , Springer, New York, pp.\u00a03\u201323 (2018)","key":"177_CR3","DOI":"10.1007\/978-3-030-02768-1_1"},{"doi-asserted-by":"crossref","unstructured":"Egi, S., Nishiwaki, Y.: Functional Programming in Pattern-Match-Oriented Programming Style. In: The Art, Science, and Engineering of Programming. Vol. 4, Issue 3, Article 7 (2020)","key":"177_CR4","DOI":"10.22152\/programming-journal.org\/2020\/4\/7"},{"doi-asserted-by":"crossref","unstructured":"Erwig, M.: Active patterns. Implementation of Functional Languages (1996)","key":"177_CR5","DOI":"10.1007\/3-540-63237-9_17"},{"unstructured":"Gorski, C.A.: General-games: Library supporting simulation of a number of games. https:\/\/hackage.haskell.org\/package\/general-games (2018). [Online; accessed 10-May-2020]","key":"177_CR6"},{"doi-asserted-by":"crossref","unstructured":"Hudak, P., Hughes, J., Jones, S.\u00a0P., Wadler, P.: A history of haskell: Being lazy with class. In: In Proceedings of the 3rd ACM SIGPLAN Conference on History of Programming Languages (HOPL-III , ACM Press, pp.\u00a01\u201355 (2007)","key":"177_CR7","DOI":"10.1145\/1238844.1238856"},{"unstructured":"Jones, S.\u00a0P., Washburn, G., Weirich, S.: Wobbly Types: Type Inference for Generalised Algebraic Data Types. Tech. rep., Technical Report MS-CIS-05-26, Univ. of Pennsylvania (2004)","key":"177_CR8"},{"unstructured":"Kawata, A.: egison\/typed-egison: Typed Egison. https:\/\/github.com\/egison\/typed-egison, 2018. [Online; accessed 10-Oct-2019]","key":"177_CR9"},{"doi-asserted-by":"crossref","unstructured":"Kiselyov, O., L\u00e4mmel, R., Schupke, K.: Strongly Typed Heterogeneous Collections. In Proceedings of the 2004 ACM SIGPLAN workshop on Haskell  (2004), ACM, pp.\u00a096\u2013107","key":"177_CR10","DOI":"10.1145\/1017472.1017488"},{"doi-asserted-by":"crossref","unstructured":"Kiselyov, O., Shan, C., Friedman, D.\u00a0P., Sabry, A.: Backtracking, interleaving, and terminating monad transformers: (functional pearl). In Proceedings of the 10th ACM SIGPLAN International Conference on Functional Programming, ICFP 2005, Tallinn, Estonia, September 26-28, 2005  (2005), pp.\u00a0192\u2013203","key":"177_CR11","DOI":"10.1145\/1090189.1086390"},{"unstructured":"Kori, M., Egi, S.: egison\/egison-haskell: Template Haskell Implementation of Egison Pattern Matching. https:\/\/github.com\/egison\/egison-haskell, 2019. [Online; accessed 21-Feb-2019]","key":"177_CR12"},{"unstructured":"OSullivan, B.: criterion: a Haskell microbenchmarking library. http:\/\/www.serpentine.com\/criterion\/, 2014. [Online; accessed 13-Mar-2020]","key":"177_CR13"},{"unstructured":"Pope, R., Yorgey, B.: first-class-patterns: First class patterns and pattern matching, using type families. https:\/\/hackage.haskell.org\/package\/first-class-patterns, 2019. [Online; accessed 13-Mar-2020]","key":"177_CR14"},{"doi-asserted-by":"crossref","unstructured":"Sheard, T., Jones, S. P.: Template Meta-programming for Haskell. In Proceedings of the 2002 ACM SIGPLAN workshop on Haskell  (2002), ACM, pp.\u00a01\u201316","key":"177_CR15","DOI":"10.1145\/581690.581691"},{"unstructured":"Team, G.: 13.1. Language options \u2014 Glasgow Haskell Compiler 8.8.1 User\u2019s Guide. https:\/\/downloads.haskell.org\/~ghc\/8.8.1\/docs\/html\/users_guide\/glasgow_exts.html, 2019. [Online; accessed 18-Dec-2019]","key":"177_CR16"},{"unstructured":"Tullsen, M.: First class patterns. In Practical Aspects of Declarative Languages, Second International Workshop, PADL 2000, Boston, MA, USA, January 2000, Proceedings  (2000), E.\u00a0Pontelli and V.\u00a0S. Costa, Eds., vol.\u00a01753 of Lecture Notes in Computer Science, Springer, pp.\u00a01\u201315","key":"177_CR17"},{"doi-asserted-by":"crossref","unstructured":"Turner, D.: Some history of functional programming languages. In International Symposium on Trends in Functional Programming  (2012), Springer, pp.\u00a01\u201320","key":"177_CR18","DOI":"10.1007\/978-3-642-40447-4_1"},{"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)","key":"177_CR19","DOI":"10.1145\/41625.41653"},{"unstructured":"Wright, A.\u00a0K., and Duba, B.\u00a0F.: Pattern matching for Scheme. Unpublished manuscript  (1993)","key":"177_CR20"},{"doi-asserted-by":"crossref","unstructured":"Yorgey, B.\u00a0A., Weirich, S., Cretin, J., Peyton\u00a0Jones, S., Vytiniotis, D., Magalh\u00e3es, J.\u00a0P.: Giving Haskell a Promotion. In Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation  (2012), ACM, pp.\u00a053\u201366","key":"177_CR21","DOI":"10.1145\/2103786.2103795"}],"container-title":["New Generation Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00354-022-00177-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s00354-022-00177-z\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00354-022-00177-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,9,6]],"date-time":"2022-09-06T19:44:33Z","timestamp":1662493473000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s00354-022-00177-z"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,7]]},"references-count":21,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2022,7]]}},"alternative-id":["177"],"URL":"https:\/\/doi.org\/10.1007\/s00354-022-00177-z","relation":{},"ISSN":["0288-3635","1882-7055"],"issn-type":[{"type":"print","value":"0288-3635"},{"type":"electronic","value":"1882-7055"}],"subject":[],"published":{"date-parts":[[2022,7]]},"assertion":[{"value":"8 August 2021","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"25 May 2022","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"21 July 2022","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors declare that they have no conflict of interest.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}}]}}