{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,7,2]],"date-time":"2024-07-02T06:51:06Z","timestamp":1719903066551},"reference-count":43,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2014,4,1]],"date-time":"2014-04-01T00:00:00Z","timestamp":1396310400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2018,4,1]],"date-time":"2018-04-01T00:00:00Z","timestamp":1522540800000},"content-version":"vor","delay-in-days":1461,"URL":"https:\/\/www.elsevier.com\/open-access\/userlicense\/1.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Information and Computation"],"published-print":{"date-parts":[[2014,4]]},"DOI":"10.1016\/j.ic.2014.01.004","type":"journal-article","created":{"date-parts":[[2014,1,16]],"date-time":"2014-01-16T22:30:15Z","timestamp":1389911415000},"page":"36-69","update-policy":"http:\/\/dx.doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":0,"special_numbering":"C","title":["Safe typing of functional logic programs with opaque patterns and local bindings"],"prefix":"10.1016","volume":"235","author":[{"given":"Francisco J.","family":"L\u00f3pez-Fraguas","sequence":"first","affiliation":[]},{"given":"Enrique","family":"Martin-Martin","sequence":"additional","affiliation":[]},{"given":"Juan","family":"Rodr\u00edguez-Hortal\u00e1","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.ic.2014.01.004_br0010","series-title":"Proceedings of the 9th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","first-page":"207","article-title":"Principal type-schemes for functional programs","author":"Damas","year":"1982"},{"key":"10.1016\/j.ic.2014.01.004_br0020","series-title":"Proceedings of the 10th International Conference on Rewriting Techniques and Applications","first-page":"244","article-title":"Toy: A multiparadigm declarative system","volume":"vol. 1631","author":"L\u00f3pez-Fraguas","year":"1999"},{"key":"10.1016\/j.ic.2014.01.004_br0030","author":"Hanus"},{"key":"10.1016\/j.ic.2014.01.004_br0040","series-title":"Proceedings of the 23rd International Conference on Logic Programming","first-page":"45","article-title":"Multi-paradigm declarative languages","volume":"vol. 4670","author":"Hanus","year":"2007"},{"key":"10.1016\/j.ic.2014.01.004_br0050","unstructured":"J.J. Moreno-Navarro, J. Mari\u00f1o, A. del Pozo-Pietro, \u00c1. Herranz-Nieva, J. Garc\u00eda-Mart\u00edn, Adding type classes to functional-logic languages, in: 1996 Joint Conference on Declarative Programming, APPIA-GULP-PRODE '96, pp. 427\u2013438."},{"key":"10.1016\/j.ic.2014.01.004_br0060","unstructured":"W. Lux, Adding Haskell-style overloading to Curry, in: Workshop of Working Group 2.1.4 of the German Computing Science Association GI, pp. 67\u201376."},{"key":"10.1016\/j.ic.2014.01.004_br0070","series-title":"Proceedings of the 2011 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation","first-page":"121","article-title":"Type classes in functional logic programming","author":"Martin-Martin","year":"2011"},{"key":"10.1016\/j.ic.2014.01.004_br0080","series-title":"Proceedings of the 14th International Conference on Logic Programming","first-page":"153","article-title":"A higher order rewriting logic for functional logic programming","author":"Gonz\u00e1lez-Moreno","year":"1997"},{"key":"10.1016\/j.ic.2014.01.004_br0090","series-title":"Proceedings of the 9th International Symposium on Functional and Logic Programming","first-page":"147","article-title":"Rewriting and call-time choice: the HO case","volume":"vol. 4989","author":"L\u00f3pez-Fraguas","year":"2008"},{"key":"10.1016\/j.ic.2014.01.004_br0100","series-title":"Proceedings of the 4th International Symposium on Functional and Logic Programming","first-page":"85","article-title":"A functional-logic perspective on parsing","author":"Caballero","year":"1999"},{"key":"10.1016\/j.ic.2014.01.004_br0110","series-title":"Proceedings of the 13th International Symposium on Practical Aspects of Declarative Languages","first-page":"145","article-title":"Integrating xpath with the functional-logic language toy","volume":"vol. 6539","author":"Caballero","year":"2011"},{"key":"10.1016\/j.ic.2014.01.004_br0120","author":"Fischer"},{"key":"10.1016\/j.ic.2014.01.004_br0130","first-page":"2001","article-title":"Polymorphic types in functional logic programming","author":"Gonz\u00e1lez-Moreno","year":"2001","journal-title":"J. Funct. Logic Program."},{"key":"10.1016\/j.ic.2014.01.004_br0140","author":"Brassel"},{"key":"10.1016\/j.ic.2014.01.004_br0150","series-title":"Proceedings of the 8th Asian Symposium on Programming Languages and Systems","first-page":"80","article-title":"Liberal typing for functional logic programs","volume":"vol. 6461","author":"L\u00f3pez-Fraguas","year":"2010"},{"key":"10.1016\/j.ic.2014.01.004_br0160","author":"Lux"},{"key":"10.1016\/j.ic.2014.01.004_br0170","doi-asserted-by":"crossref","first-page":"343","DOI":"10.1007\/BF01018828","article-title":"Simple imperative polymorphism","volume":"8","author":"Wright","year":"1995","journal-title":"LISP Symb. Comput."},{"key":"10.1016\/j.ic.2014.01.004_br0180","series-title":"Proceedings of the 3rd ACM SIGPLAN Conference on History of Programming Languages","first-page":"12-1","article-title":"A history of Haskell: Being lazy with class","author":"Hudak","year":"2007"},{"key":"10.1016\/j.ic.2014.01.004_br0190","doi-asserted-by":"crossref","first-page":"470","DOI":"10.1145\/44501.45065","article-title":"Abstract types have existential type","volume":"10","author":"Mitchell","year":"1988","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"10.1016\/j.ic.2014.01.004_br0200","doi-asserted-by":"crossref","first-page":"1411","DOI":"10.1145\/186025.186031","article-title":"Polymorphic type inference and abstract data types","volume":"16","author":"L\u00e4ufer","year":"1994","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"10.1016\/j.ic.2014.01.004_br0210","doi-asserted-by":"crossref","first-page":"224","DOI":"10.1145\/640128.604150","article-title":"Guarded recursive datatype constructors","volume":"38","author":"Xi","year":"2003","journal-title":"SIGPLAN Not."},{"key":"10.1016\/j.ic.2014.01.004_br0220","series-title":"First-class phantom types","author":"Cheney","year":"2003"},{"key":"10.1016\/j.ic.2014.01.004_br0230","series-title":"Type assignment in programming languages","author":"Damas","year":"1985"},{"key":"10.1016\/j.ic.2014.01.004_br0240","series-title":"The Implementation of Functional Programming Languages, Prentice-Hall International Series in Computer Science","author":"Peyton Jones","year":"1987"},{"key":"10.1016\/j.ic.2014.01.004_br0250","series-title":"Proceedings of the 6th Colloquium on International Symposium on Programming","first-page":"217","article-title":"Polymorphic type schemes and recursive definitions","author":"Mycroft","year":"1984"},{"key":"10.1016\/j.ic.2014.01.004_br0260","doi-asserted-by":"crossref","first-page":"290","DOI":"10.1145\/169701.169687","article-title":"Type reconstruction in the presence of polymorphic recursion","volume":"15","author":"Kfoury","year":"1993","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"10.1016\/j.ic.2014.01.004_br0270","doi-asserted-by":"crossref","first-page":"146","DOI":"10.1137\/0201010","article-title":"Depth-first search and linear graph algorithms","volume":"1","author":"Tarjan","year":"1972","journal-title":"SIAM J. Comput."},{"key":"10.1016\/j.ic.2014.01.004_br0280","doi-asserted-by":"crossref","first-page":"471","DOI":"10.1145\/6041.6042","article-title":"On understanding types, data abstraction, and polymorphism","volume":"17","author":"Cardelli","year":"1985","journal-title":"ACM Comput. Surv."},{"key":"10.1016\/j.ic.2014.01.004_br0290","series-title":"The implementation of practical functional programming languages","author":"Perry","year":"1991"},{"key":"10.1016\/j.ic.2014.01.004_br0300","first-page":"513","article-title":"Types, abstraction and parametric polymorphism","author":"Reynolds","year":"1983","journal-title":"Inf. Process."},{"key":"10.1016\/j.ic.2014.01.004_br0310","series-title":"Proceedings of the 4th International Conference on Functional Programming Languages and Computer Architecture","first-page":"347","article-title":"Theorems for free!","author":"Wadler","year":"1989"},{"key":"10.1016\/j.ic.2014.01.004_br0320","series-title":"Proceedings of 10th International Symposium on Functional and Logic Programming","first-page":"175","article-title":"Automatically generating counterexamples to naive free theorems","volume":"vol. 6009","author":"Seidel","year":"2010"},{"key":"10.1016\/j.ic.2014.01.004_br0330","series-title":"Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","first-page":"99","article-title":"Free theorems in the presence of seq","author":"Johann","year":"2004"},{"key":"10.1016\/j.ic.2014.01.004_br0340","series-title":"Proceedings of the 4th ACM SIGPLAN Workshop on Programming Languages Meets Program Verification","first-page":"39","article-title":"Free theorems for functional logic programs","author":"Christiansen","year":"2010"},{"key":"10.1016\/j.ic.2014.01.004_br0350","series-title":"Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming","first-page":"341","article-title":"Complete and decidable type inference for GADTs","author":"Schrijvers","year":"2009"},{"key":"10.1016\/j.ic.2014.01.004_br0360","doi-asserted-by":"crossref","first-page":"35","DOI":"10.1002\/(SICI)1096-9942(199901\/03)5:1<35::AID-TAPO4>3.0.CO;2-4","article-title":"Type inference with constrained types","volume":"5","author":"Odersky","year":"1999","journal-title":"Theory Pract. Object Syst."},{"key":"10.1016\/j.ic.2014.01.004_br0370","series-title":"Proceedings of the 22nd International Conference on Logic Programming","first-page":"87","article-title":"Overlapping rules and logic variables in functional logic programs","volume":"vol. 4079","author":"Antoy","year":"2006"},{"key":"10.1016\/j.ic.2014.01.004_br0380","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1016\/j.entcs.2006.05.049","article-title":"Extra variables can be eliminated from functional logic programs","volume":"188","author":"de Dios Castro","year":"2007","journal-title":"Electron. Notes Theor. Comput. Sci."},{"key":"10.1016\/j.ic.2014.01.004_br0390","doi-asserted-by":"crossref","first-page":"74","DOI":"10.1145\/1721654.1721675","article-title":"Functional logic programming","volume":"53","author":"Antoy","year":"2010","journal-title":"Commun. ACM"},{"key":"10.1016\/j.ic.2014.01.004_br0400","series-title":"Proceedings of the 4th International Symposium on Functional and Logic Programming","first-page":"335","article-title":"Typed higher-order narrowing without higher-order strategies","volume":"vol. 1722","author":"Antoy","year":"1999"},{"key":"10.1016\/j.ic.2014.01.004_br0410","series-title":"Proceedings of the 2012 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation","first-page":"83","article-title":"Well-typed narrowing with extra variables in functional-logic programming","author":"L\u00f3pez-Fraguas","year":"2012"},{"key":"10.1016\/j.ic.2014.01.004_br0420","series-title":"18th International Workshop on Functional and (Constraint) Logic Programming","first-page":"128","article-title":"New results on type systems for functional logic programming","volume":"vol. 5979","author":"L\u00f3pez-Fraguas","year":"2010"},{"key":"10.1016\/j.ic.2014.01.004_br0430","series-title":"Advances in type systems for functional logic programming","author":"Martin-Martin","year":"2009"}],"container-title":["Information and Computation"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0890540114000054?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0890540114000054?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2018,10,7]],"date-time":"2018-10-07T04:53:21Z","timestamp":1538888001000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0890540114000054"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,4]]},"references-count":43,"alternative-id":["S0890540114000054"],"URL":"https:\/\/doi.org\/10.1016\/j.ic.2014.01.004","relation":{},"ISSN":["0890-5401"],"issn-type":[{"value":"0890-5401","type":"print"}],"subject":[],"published":{"date-parts":[[2014,4]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Safe typing of functional logic programs with opaque patterns and local bindings","name":"articletitle","label":"Article Title"},{"value":"Information and Computation","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.ic.2014.01.004","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"Copyright \u00a9 2014 Elsevier Inc. All rights reserved.","name":"copyright","label":"Copyright"}]}}