{"id":"https://openalex.org/W1980389840","doi":"https://doi.org/10.1145/1141277.1141610","title":"Union types for object-oriented programming","display_name":"Union types for object-oriented programming","publication_year":2006,"publication_date":"2006-04-23","ids":{"openalex":"https://openalex.org/W1980389840","doi":"https://doi.org/10.1145/1141277.1141610","mag":"1980389840"},"language":"en","primary_location":{"id":"doi:10.1145/1141277.1141610","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1141277.1141610","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2006 ACM symposium on Applied computing","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","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":true,"raw_author_name":"Atsushi Igarashi","raw_affiliation_strings":["Kyoto University, Kyoto, JAPAN","Kyoto University, Kyoto, Japan#TAB#"],"affiliations":[{"raw_affiliation_string":"Kyoto University, Kyoto, JAPAN","institution_ids":["https://openalex.org/I22299242"]},{"raw_affiliation_string":"Kyoto University, Kyoto, Japan#TAB#","institution_ids":["https://openalex.org/I22299242"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5065309130","display_name":"Hideshi Nagira","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":false,"raw_author_name":"Hideshi Nagira","raw_affiliation_strings":["Kyoto University, Kyoto, JAPAN","Kyoto University, Kyoto, Japan#TAB#"],"affiliations":[{"raw_affiliation_string":"Kyoto University, Kyoto, JAPAN","institution_ids":["https://openalex.org/I22299242"]},{"raw_affiliation_string":"Kyoto University, Kyoto, Japan#TAB#","institution_ids":["https://openalex.org/I22299242"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5077485499"],"corresponding_institution_ids":["https://openalex.org/I22299242"],"apc_list":null,"apc_paid":null,"fwci":3.7217,"has_fulltext":false,"cited_by_count":22,"citation_normalized_percentile":{"value":0.92746808,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"1435","last_page":"1441"},"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.9998000264167786,"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.9998000264167786,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9986000061035156,"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/T10260","display_name":"Software Engineering Research","score":0.9962000250816345,"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.7611920833587646},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6957907676696777},{"id":"https://openalex.org/keywords/subtyping","display_name":"Subtyping","score":0.6779210567474365},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.668258547782898},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.616223156452179},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.5718674659729004},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.5251633524894714},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.52422696352005},{"id":"https://openalex.org/keywords/generics-in-java","display_name":"Generics in Java","score":0.5208078622817993},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.5085669755935669},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.4370419979095459},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.42334628105163574},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.4187113046646118},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.38321202993392944},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3374248147010803},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.2676662802696228},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1968073546886444},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.13952535390853882},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.09989508986473083}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7611920833587646},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6957907676696777},{"id":"https://openalex.org/C83852419","wikidata":"https://www.wikidata.org/wiki/Q2713292","display_name":"Subtyping","level":2,"score":0.6779210567474365},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.668258547782898},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.616223156452179},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.5718674659729004},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.5251633524894714},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.52422696352005},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.5208078622817993},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.5085669755935669},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.4370419979095459},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.42334628105163574},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.4187113046646118},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.38321202993392944},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3374248147010803},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.2676662802696228},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1968073546886444},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.13952535390853882},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.09989508986473083},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"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.1145/1141277.1141610","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1141277.1141610","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2006 ACM symposium on Applied computing","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.539.7723","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.539.7723","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.sato.kuis.kyoto-u.ac.jp/~igarashi/papers/pdf/union-full.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320320912","display_name":"Ministry of Education, Culture, Sports, Science and Technology","ror":"https://ror.org/048rj2z13"},{"id":"https://openalex.org/F4320334764","display_name":"Japan Society for the Promotion of Science","ror":"https://ror.org/00hhkn466"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":13,"referenced_works":["https://openalex.org/W1522271721","https://openalex.org/W1522740415","https://openalex.org/W1526736056","https://openalex.org/W1573426382","https://openalex.org/W1610570299","https://openalex.org/W1972445726","https://openalex.org/W1980939032","https://openalex.org/W1990370351","https://openalex.org/W2033348393","https://openalex.org/W2072137506","https://openalex.org/W2137417304","https://openalex.org/W2167787721","https://openalex.org/W2244800645"],"related_works":["https://openalex.org/W2547095320","https://openalex.org/W2541866089","https://openalex.org/W2035709547","https://openalex.org/W4231981509","https://openalex.org/W76723318","https://openalex.org/W3011106306","https://openalex.org/W2159113354","https://openalex.org/W1989314504","https://openalex.org/W3006019133","https://openalex.org/W3004984522"],"abstract_inverted_index":{"We":[0],"propose":[1],"union":[2,24,31,101],"types":[3,36,69],"for":[4,73,78],"statically":[5],"typed":[6],"class-based":[7],"object-oriented":[8],"languages":[9,92],"as":[10,39],"a":[11,23,29],"means":[12],"to":[13],"enhance":[14],"the":[15,47,60,98,114],"flexibility":[16],"of":[17,32,34,49,56,59,100,108],"subtyping.":[18],"As":[19],"its":[20],"name":[21,62],"suggests,":[22],"type":[25,115],"can":[26,70],"be":[27,71],"considered":[28,89],"set":[30],"instances":[33],"several":[35],"and":[37,63,77,111],"behaves":[38],"their":[40],"least":[41],"common":[42],"supertype.":[43],"It":[44],"also":[45],"plays":[46],"role":[48],"an":[50],"interface":[51],"that":[52,113],"'factors":[53],"out'":[54],"commonality":[55],"given":[57],"types---fields":[58],"same":[61],"methods":[64],"with":[65,83],"similar":[66,84],"signatures.":[67],"Union":[68],"useful":[72],"implementing":[74],"heterogeneous":[75],"collections":[76],"grouping":[79],"independently":[80],"developed":[81],"classes":[82],"interfaces,":[85],"which":[86],"has":[87],"been":[88],"difficult":[90],"in":[91],"like":[93],"Java.":[94],"To":[95],"rigorously":[96],"show":[97],"safety":[99],"types,":[102],"we":[103],"formalize":[104],"them":[105],"on":[106],"top":[107],"Featherweight":[109],"Java":[110],"prove":[112],"system":[116],"is":[117],"sound.":[118]},"counts_by_year":[{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":2}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
