{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,11]],"date-time":"2024-09-11T19:43:41Z","timestamp":1726083821805},"publisher-location":"Cham","reference-count":29,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030471460"},{"type":"electronic","value":"9783030471477"}],"license":[{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"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":[[2020]]},"DOI":"10.1007\/978-3-030-47147-7_5","type":"book-chapter","created":{"date-parts":[[2020,5,10]],"date-time":"2020-05-10T19:02:55Z","timestamp":1589137375000},"page":"84-120","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Type Inference for Rank 2 Gradual Intersection Types"],"prefix":"10.1007","author":[{"given":"Pedro","family":"\u00c2ngelo","sequence":"first","affiliation":[]},{"given":"M\u00e1rio","family":"Florido","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2020,5,11]]},"reference":[{"issue":"4","key":"5_CR1","doi-asserted-by":"crossref","first-page":"931","DOI":"10.2307\/2273659","volume":"48","author":"H Barendregt","year":"1983","unstructured":"Barendregt, H., Coppo, M., Dezani-Ciancaglini, M.: A filter lambda model and the completeness of type assignment. J. Symbolic Logic 48(4), 931\u2013940 (1983)","journal-title":"J. Symbolic Logic"},{"issue":"ICFP","key":"5_CR2","doi-asserted-by":"crossref","first-page":"41:1","DOI":"10.1145\/3110285","volume":"1","author":"G Castagna","year":"2017","unstructured":"Castagna, G., Lanvin, V.: Gradual typing with union and intersection types. Proc. ACM Program. Lang. 1(ICFP), 41:1\u201341:28 (2017)","journal-title":"Proc. ACM Program. Lang."},{"key":"5_CR3","doi-asserted-by":"crossref","unstructured":"Castagna, G., Lanvin, V., Petrucciani, T., Siek, J.G.: Gradual typing: a new perspective. Proc. ACM Program. Lang. 3(POPL), 16:1\u201316:32 (2019)","DOI":"10.1145\/3290329"},{"key":"5_CR4","doi-asserted-by":"crossref","unstructured":"Chaudhuri, A.: Flow: abstract interpretation of Javascript for type checking and beyond. In: Proceedings of the 2016 ACM Workshop on Programming Languages and Analysis for Security, PLAS 2016. ACM (2016)","DOI":"10.1145\/2993600.2996280"},{"key":"5_CR5","doi-asserted-by":"crossref","unstructured":"Cimini, M., Siek, J.G.: The gradualizer: a methodology and algorithm for generating gradual type systems. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, pp. 443\u2013455 (2016)","DOI":"10.1145\/2837614.2837632"},{"key":"5_CR6","doi-asserted-by":"crossref","unstructured":"Cimini, M., Siek, J.G.: Automatically generating the dynamic semantics of gradually typed languages. In: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017, pp. 789\u2013803 (2017)","DOI":"10.1145\/3009837.3009863"},{"issue":"4","key":"5_CR7","doi-asserted-by":"crossref","first-page":"685","DOI":"10.1305\/ndjfl\/1093883253","volume":"21","author":"M Coppo","year":"1980","unstructured":"Coppo, M., Dezani-Ciancaglini, M.: An extension of the basic functionality theory for the $$\\lambda $$-calculus. Notre Dame J. Form. Log. 21(4), 685\u2013693 (1980)","journal-title":"Notre Dame J. Form. Log."},{"issue":"2\u20136","key":"5_CR8","doi-asserted-by":"crossref","first-page":"45","DOI":"10.1002\/malq.19810270205","volume":"27","author":"M Coppo","year":"1981","unstructured":"Coppo, M., Dezani-Ciancaglini, M., Venneri, B.: Functional characters of solvable terms. Math. Logic Quart. 27(2\u20136), 45\u201358 (1981)","journal-title":"Math. Logic Quart."},{"key":"5_CR9","doi-asserted-by":"crossref","unstructured":"Damas, L., Milner, R.: Principal type-schemes for functional programs. In: Proceedings of the 9th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1982, pp. 207\u2013212 (1982)","DOI":"10.1145\/582153.582176"},{"issue":"4","key":"5_CR10","doi-asserted-by":"crossref","first-page":"19:1","DOI":"10.1145\/1391289.1391293","volume":"55","author":"A Frisch","year":"2008","unstructured":"Frisch, A., Castagna, G., Benzaken, V.: Semantic subtyping: dealing set-theoretically with function, union, intersection, and negation types. J. ACM 55(4), 19:1\u201319:64 (2008)","journal-title":"J. ACM"},{"key":"5_CR11","doi-asserted-by":"crossref","unstructured":"Garcia, R., Cimini, M.: Principal type schemes for gradual programs. In: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015, pp. 303\u2013315 (2015)","DOI":"10.1145\/2775051.2676992"},{"key":"5_CR12","doi-asserted-by":"crossref","unstructured":"Garcia, R., Clark, A.M., Tanter, \u00c9.: Abstracting gradual typing. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, pp. 429\u2013442 (2016)","DOI":"10.1145\/2837614.2837670"},{"key":"5_CR13","series-title":"Cambridge Tracts in Theoretical Computer Science","doi-asserted-by":"crossref","DOI":"10.1017\/CBO9780511608865","volume-title":"Basic Simple Type Theory","author":"J Roger Hindley","year":"1997","unstructured":"Roger Hindley, J.: Basic Simple Type Theory. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (1997)"},{"key":"5_CR14","first-page":"29","volume":"146","author":"R Hindley","year":"1969","unstructured":"Hindley, R.: The principal type-scheme of an object in combinatory logic. Trans. Am. Math. Soc. 146, 29\u201360 (1969)","journal-title":"Trans. Am. Math. Soc."},{"key":"5_CR15","unstructured":"Jim, T.: Rank 2 type systems and recursive definitions. Technical report (1995)"},{"key":"5_CR16","doi-asserted-by":"crossref","unstructured":"Jim, T.: What are principal typings and what are they good for? In: Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1996, pp. 42\u201353 (1996)","DOI":"10.1145\/237721.237728"},{"key":"5_CR17","doi-asserted-by":"crossref","unstructured":"Kfoury, A.J., Wells, J.B.: Principality and decidable type inference for finite-rank intersection types. In: Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1999, pp. 161\u2013174 (1999)","DOI":"10.1145\/292540.292556"},{"issue":"1","key":"5_CR18","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/j.tcs.2003.10.032","volume":"311","author":"AJ Kfoury","year":"2004","unstructured":"Kfoury, A.J., Wells, J.B.: Principality and type inference for intersection types using expansion variables. Theoret. Comput. Sci. 311(1), 1\u201370 (2004)","journal-title":"Theoret. Comput. Sci."},{"key":"5_CR19","doi-asserted-by":"crossref","unstructured":"Leivant, D.: Polymorphic type inference. In: Proceedings of the 10th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL 1983, pp. 88\u201398 (1983)","DOI":"10.1145\/567067.567077"},{"issue":"3","key":"5_CR20","doi-asserted-by":"crossref","first-page":"348","DOI":"10.1016\/0022-0000(78)90014-4","volume":"17","author":"R Milner","year":"1978","unstructured":"Milner, R.: A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17(3), 348\u2013375 (1978)","journal-title":"J. Comput. Syst. Sci."},{"key":"5_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"675","DOI":"10.1007\/3-540-54415-1_70","volume-title":"Theoretical Aspects of Computer Software","author":"JC Reynolds","year":"1991","unstructured":"Reynolds, J.C.: The coherence of languages with intersection types. In: Ito, T., Meyer, A.R. (eds.) TACS 1991. LNCS, vol. 526, pp. 675\u2013700. Springer, Heidelberg (1991). https:\/\/doi.org\/10.1007\/3-540-54415-1_70"},{"key":"5_CR22","doi-asserted-by":"crossref","unstructured":"Reynolds, J.C.: Design of the Programming Language Forsythe, pp. 173\u2013233. Birkh\u00e4user Boston, Boston (1997)","DOI":"10.1007\/978-1-4612-4118-8_9"},{"issue":"1","key":"5_CR23","doi-asserted-by":"crossref","first-page":"23","DOI":"10.1145\/321250.321253","volume":"12","author":"JA Robinson","year":"1965","unstructured":"Robinson, J.A.: A machine-oriented logic based on the resolution principle. J. ACM 12(1), 23\u201341 (1965)","journal-title":"J. ACM"},{"key":"5_CR24","doi-asserted-by":"crossref","unstructured":"Siek, J.G., Vachharajani, M.: Gradual typing with unification-based inference. In: Proceedings of the 2008 Symposium on Dynamic Languages, DLS 2008, pp. 7:1\u20137:12 (2008)","DOI":"10.1145\/1408681.1408688"},{"issue":"2","key":"5_CR25","doi-asserted-by":"crossref","first-page":"385","DOI":"10.1016\/0304-3975(95)00073-6","volume":"151","author":"S van Bakel","year":"1995","unstructured":"van Bakel, S.: Intersection type assignment systems. Theoret. Comput. Sci. 151(2), 385\u2013435 (1995)","journal-title":"Theoret. Comput. Sci."},{"issue":"6","key":"5_CR26","doi-asserted-by":"crossref","first-page":"310","DOI":"10.1145\/2980983.2908110","volume":"51","author":"P Vekris","year":"2016","unstructured":"Vekris, P., Cosman, B., Jhala, R.: Refinement types for typescript. SIGPLAN Not. 51(6), 310\u2013325 (2016)","journal-title":"SIGPLAN Not."},{"issue":"2","key":"5_CR27","doi-asserted-by":"crossref","first-page":"115","DOI":"10.3233\/FI-1987-10202","volume":"10","author":"M Wand","year":"1987","unstructured":"Wand, M.: A simple algorithm and proof for type inference. Fundamenta Informaticae 10(2), 115\u2013121 (1987)","journal-title":"Fundamenta Informaticae"},{"key":"5_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"913","DOI":"10.1007\/3-540-45465-9_78","volume-title":"Automata, Languages and Programming","author":"JB Wells","year":"2002","unstructured":"Wells, J.B.: The essence of principal typings. In: Widmayer, P., Eidenbenz, S., Triguero, F., Morales, R., Conejo, R., Hennessy, M. (eds.) ICALP 2002. LNCS, vol. 2380, pp. 913\u2013925. Springer, Heidelberg (2002). https:\/\/doi.org\/10.1007\/3-540-45465-9_78"},{"key":"5_CR29","unstructured":"\u00c2ngelo, P., Florido, M.: Gradual intersection types. In: Ninth Workshop on Intersection Types and Related Systems, ITRS 2018, Oxford, UK, 8 July 2018 (2018)"}],"container-title":["Lecture Notes in Computer Science","Trends in Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-47147-7_5","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,10,23]],"date-time":"2022-10-23T06:42:19Z","timestamp":1666507339000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-47147-7_5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"ISBN":["9783030471460","9783030471477"],"references-count":29,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-47147-7_5","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2020]]},"assertion":[{"value":"11 May 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"TFP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Trends in Functional Programming","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Vancouver, BC","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Canada","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"12 June 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"14 June 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"20","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"tfp2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.tfp2019.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair.org","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"11","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"6","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"55% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"No","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}