{"id":"https://openalex.org/W2140602484","doi":"https://doi.org/10.1017/s0956796807006405","title":"Lightweight family polymorphism","display_name":"Lightweight family polymorphism","publication_year":2007,"publication_date":"2007-07-06","ids":{"openalex":"https://openalex.org/W2140602484","doi":"https://doi.org/10.1017/s0956796807006405","mag":"2140602484"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796807006405","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796807006405","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/60B7A0962244CC5314A48B43A7B5B953/S0956796807006405a.pdf/div-class-title-lightweight-family-polymorphism-a-href-fn1-ref-type-fn-a-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/60B7A0962244CC5314A48B43A7B5B953/S0956796807006405a.pdf/div-class-title-lightweight-family-polymorphism-a-href-fn1-ref-type-fn-a-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5046314774","display_name":"Chieri Saito","orcid":null},"institutions":[{"id":"https://openalex.org/I22299242","display_name":"Kyoto University","ror":"https://ror.org/02kpeqv85","country_code":"JP","type":"education","lineage":["https://openalex.org/I22299242"]}],"countries":["JP"],"is_corresponding":true,"raw_author_name":"CHIERI SAITO","raw_affiliation_strings":["Kyoto University, Japan (e-mail:","Kyoto university, japan (e-mail: saito@kuis.kyoto-u.ac.jp, igarashi@kuis.kyoto-u.ac.jp)#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Kyoto University, Japan (e-mail:","institution_ids":["https://openalex.org/I22299242"]},{"raw_affiliation_string":"Kyoto university, japan (e-mail: saito@kuis.kyoto-u.ac.jp, igarashi@kuis.kyoto-u.ac.jp)#TAB#","institution_ids":["https://openalex.org/I22299242"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5077485499","display_name":"Atsushi Igarashi","orcid":"https://orcid.org/0000-0002-5143-9764"},"institutions":[{"id":"https://openalex.org/I22299242","display_name":"Kyoto University","ror":"https://ror.org/02kpeqv85","country_code":"JP","type":"education","lineage":["https://openalex.org/I22299242"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"ATSUSHI IGARASHI","raw_affiliation_strings":["Kyoto University, Japan (e-mail:","Kyoto university, japan (e-mail: saito@kuis.kyoto-u.ac.jp, igarashi@kuis.kyoto-u.ac.jp)#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Kyoto University, Japan (e-mail:","institution_ids":["https://openalex.org/I22299242"]},{"raw_affiliation_string":"Kyoto university, japan (e-mail: saito@kuis.kyoto-u.ac.jp, igarashi@kuis.kyoto-u.ac.jp)#TAB#","institution_ids":["https://openalex.org/I22299242"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5014225579","display_name":"Mirko Viroli","orcid":"https://orcid.org/0000-0003-2702-5702"},"institutions":[{"id":"https://openalex.org/I9360294","display_name":"University of Bologna","ror":"https://ror.org/01111rn36","country_code":"IT","type":"education","lineage":["https://openalex.org/I9360294"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"MIRKO VIROLI","raw_affiliation_strings":["Alma Mater Studiorum \u2013 Universit\u00e0 di Bologna a Cesena, Italy (e-mail:","Alma mater studiorum \u2013 universit\u00e0 di bologna a cesena, italy (e-mail: mirko.viroli@unibo.it)#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Alma Mater Studiorum \u2013 Universit\u00e0 di Bologna a Cesena, Italy (e-mail:","institution_ids":["https://openalex.org/I9360294"]},{"raw_affiliation_string":"Alma mater studiorum \u2013 universit\u00e0 di bologna a cesena, italy (e-mail: mirko.viroli@unibo.it)#TAB#","institution_ids":["https://openalex.org/I9360294"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5046314774"],"corresponding_institution_ids":["https://openalex.org/I22299242"],"apc_list":null,"apc_paid":null,"fwci":6.2887,"has_fulltext":false,"cited_by_count":34,"citation_normalized_percentile":{"value":0.96303013,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"18","issue":"3","first_page":"285","last_page":"331"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9980999827384949,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9973999857902527,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8567779064178467},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7531033158302307},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.6735480427742004},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6543120741844177},{"id":"https://openalex.org/keywords/java-modeling-language","display_name":"Java Modeling Language","score":0.6094546914100647},{"id":"https://openalex.org/keywords/generics-in-java","display_name":"Generics in Java","score":0.5694628953933716},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.4754347801208496},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.47487708926200867},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4276268482208252},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.42271408438682556},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.4038182497024536},{"id":"https://openalex.org/keywords/java-concurrency","display_name":"Java concurrency","score":0.3865682780742645},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.31381475925445557},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2065531313419342},{"id":"https://openalex.org/keywords/java-applet","display_name":"Java applet","score":0.19062337279319763}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8567779064178467},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7531033158302307},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.6735480427742004},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6543120741844177},{"id":"https://openalex.org/C60945770","wikidata":"https://www.wikidata.org/wiki/Q2517517","display_name":"Java Modeling Language","level":5,"score":0.6094546914100647},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.5694628953933716},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.4754347801208496},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.47487708926200867},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4276268482208252},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.42271408438682556},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.4038182497024536},{"id":"https://openalex.org/C181907185","wikidata":"https://www.wikidata.org/wiki/Q1100098","display_name":"Java concurrency","level":4,"score":0.3865682780742645},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.31381475925445557},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2065531313419342},{"id":"https://openalex.org/C15524039","wikidata":"https://www.wikidata.org/wiki/Q865817","display_name":"Java applet","level":3,"score":0.19062337279319763},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1017/s0956796807006405","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796807006405","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/60B7A0962244CC5314A48B43A7B5B953/S0956796807006405a.pdf/div-class-title-lightweight-family-polymorphism-a-href-fn1-ref-type-fn-a-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},{"id":"pmh:oai:cris.unibo.it:11585/62765","is_oa":false,"landing_page_url":"http://hdl.handle.net/11585/62765","pdf_url":null,"source":{"id":"https://openalex.org/S4306402579","display_name":"Archivio istituzionale della ricerca (Alma Mater Studiorum Universit\u00e0 di Bologna)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I4210117483","host_organization_name":"Istituto di Ematologia di Bologna","host_organization_lineage":["https://openalex.org/I4210117483"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1017/s0956796807006405","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796807006405","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/60B7A0962244CC5314A48B43A7B5B953/S0956796807006405a.pdf/div-class-title-lightweight-family-polymorphism-a-href-fn1-ref-type-fn-a-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Peace, Justice and strong institutions","id":"https://metadata.un.org/sdg/16","score":0.4300000071525574}],"awards":[],"funders":[{"id":"https://openalex.org/F4320320912","display_name":"Ministry of Education, Culture, Sports, Science and Technology","ror":"https://ror.org/048rj2z13"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2140602484.pdf","grobid_xml":"https://content.openalex.org/works/W2140602484.grobid-xml"},"referenced_works_count":29,"referenced_works":["https://openalex.org/W1482171176","https://openalex.org/W1517148154","https://openalex.org/W1517904659","https://openalex.org/W1519095101","https://openalex.org/W1525643703","https://openalex.org/W1553136405","https://openalex.org/W1567378416","https://openalex.org/W1569578717","https://openalex.org/W1577182889","https://openalex.org/W1600168243","https://openalex.org/W1758754314","https://openalex.org/W1810858699","https://openalex.org/W1980939032","https://openalex.org/W2033348393","https://openalex.org/W2037683408","https://openalex.org/W2056821525","https://openalex.org/W2057779758","https://openalex.org/W2069037543","https://openalex.org/W2080648611","https://openalex.org/W2108025710","https://openalex.org/W2108556267","https://openalex.org/W2137417304","https://openalex.org/W2172232818","https://openalex.org/W2278011425","https://openalex.org/W2609543277","https://openalex.org/W2913972837","https://openalex.org/W4240543102","https://openalex.org/W4285719527","https://openalex.org/W6630643805"],"related_works":["https://openalex.org/W2541866089","https://openalex.org/W2035709547","https://openalex.org/W2547095320","https://openalex.org/W2181544444","https://openalex.org/W3172992491","https://openalex.org/W1572758480","https://openalex.org/W1519944186","https://openalex.org/W4231981509","https://openalex.org/W1678486327","https://openalex.org/W3006019133"],"abstract_inverted_index":{"Abstract":[0],"Family":[1],"polymorphism":[2,25],"has":[3],"been":[4],"proposed":[5],"for":[6,163,166],"object-oriented":[7],"languages":[8],"as":[9,129],"a":[10,62,72,114,179],"solution":[11,74],"to":[12,34,44,57,123,175,184,192],"supporting":[13],"reusable":[14],"yet":[15],"type-safe":[16],"mutually":[17,36],"recursive":[18,37],"classes.":[19,38],"A":[20],"key":[21],"idea":[22,82],"of":[23,29,75,106,116,145,150],"family":[24,77],"is":[26,121,139,159,170,187,190],"the":[27,40,45,81,96,107,143,156,212],"notion":[28],"families,":[30],"which":[31],"are":[32,50,85],"used":[33],"group":[35],"In":[39,67],"original":[41],"proposal,":[42],"due":[43],"design":[46],"decision":[47],"that":[48,83,136,155,199],"families":[49,84],"represented":[51,86],"by":[52,87,91,182,209],"objects,":[53],"dependent":[54],"types":[55],"had":[56],"be":[58,176,205],"introduced,":[59],"resulting":[60],"in":[61,130,207],"rather":[63,89],"complex":[64],"type":[65,97,126,157,164],"system.":[66],"this":[68],"article,":[69],"we":[70,141],"propose":[71],"simpler":[73,100],"lightweight":[76],"polymorphism,":[78],"based":[79],"on":[80,148],"classes":[88],"than":[90],"objects.":[92],"This":[93],"change":[94],"makes":[95],"system":[98,158],"significantly":[99],"without":[101],"losing":[102],"much":[103],"expressive":[104],"power":[105],"language.":[108],"Moreover,":[109],"\u201cfamily-polymorphic\u201d":[110],"methods":[111],"now":[112],"take":[113],"form":[115],"parametric":[117],"methods;":[118],"thus,":[119],"it":[120,189],"easy":[122],"apply":[124],"method":[125,168],"argument":[127],"inference":[128,165],"Java":[131,152,186,208],"5.0.":[132],"To":[133],"rigorously":[134],"show":[135],"our":[137,200],"approach":[138],"safe,":[140],"formalize":[142],"set":[144],"language":[146,202],"features":[147,203],"top":[149],"Featherweight":[151,185],"and":[153,173,195],"prove":[154],"sound.":[160],"An":[161],"algorithm":[162],"family-polymorphic":[167],"invocations":[169],"also":[171],"formalized":[172],"proved":[174,191],"correct.":[177],"Finally,":[178],"formal":[180],"translation":[181],"erasure":[183],"presented;":[188],"preserve":[193],"typing":[194],"execution":[196],"results,":[197],"showing":[198],"new":[201],"can":[204],"implemented":[206],"simply":[210],"extending":[211],"compiler.":[213]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":2},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":5},{"year":2012,"cited_by_count":3}],"updated_date":"2026-04-23T06:14:38.165362","created_date":"2025-10-10T00:00:00"}
