{"id":"https://openalex.org/W2127347132","doi":"https://doi.org/10.1145/1040294.1040296","title":"An open and shut typecase","display_name":"An open and shut typecase","publication_year":2005,"publication_date":"2005-01-10","ids":{"openalex":"https://openalex.org/W2127347132","doi":"https://doi.org/10.1145/1040294.1040296","mag":"2127347132"},"language":"en","primary_location":{"id":"doi:10.1145/1040294.1040296","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1040294.1040296","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2005 ACM SIGPLAN international workshop on Types in languages design and implementation","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/A5029108294","display_name":"Dimitrios Vytiniotis","orcid":null},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Dimitrios Vytiniotis","raw_affiliation_strings":["University of Pennsylvania","#N# * University of Pennsylvania"],"affiliations":[{"raw_affiliation_string":"University of Pennsylvania","institution_ids":["https://openalex.org/I36788626"]},{"raw_affiliation_string":"#N# * University of Pennsylvania","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5032324538","display_name":"Geoffrey Washburn","orcid":null},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Geoffrey Washburn","raw_affiliation_strings":["University of Pennsylvania","#N# * University of Pennsylvania"],"affiliations":[{"raw_affiliation_string":"University of Pennsylvania","institution_ids":["https://openalex.org/I36788626"]},{"raw_affiliation_string":"#N# * University of Pennsylvania","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5049220962","display_name":"Stephanie Weirich","orcid":"https://orcid.org/0000-0002-6756-9168"},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Stephanie Weirich","raw_affiliation_strings":["University of Pennsylvania","#N# * University of Pennsylvania"],"affiliations":[{"raw_affiliation_string":"University of Pennsylvania","institution_ids":["https://openalex.org/I36788626"]},{"raw_affiliation_string":"#N# * University of Pennsylvania","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5029108294"],"corresponding_institution_ids":["https://openalex.org/I36788626"],"apc_list":null,"apc_paid":null,"fwci":5.937,"has_fulltext":false,"cited_by_count":26,"citation_normalized_percentile":{"value":0.96090802,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"13","last_page":"24"},"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/T11424","display_name":"Security and Verification in Computing","score":0.9934999942779541,"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.992900013923645,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.8768025636672974},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8134528398513794},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.7536071538925171},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7188652753829956},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.5361710786819458},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.525343120098114},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.4962685704231262},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.46186262369155884},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.456523597240448},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.4405860900878906},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.40383660793304443},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.15714341402053833}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.8768025636672974},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8134528398513794},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.7536071538925171},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7188652753829956},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.5361710786819458},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.525343120098114},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.4962685704231262},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.46186262369155884},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.456523597240448},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.4405860900878906},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.40383660793304443},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.15714341402053833},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","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}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/1040294.1040296","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1040294.1040296","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2005 ACM SIGPLAN international workshop on Types in languages design and implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.187.8147","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.187.8147","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://research.microsoft.com/en-us/people/dimitris/itaname.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.58.9861","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.58.9861","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cis.upenn.edu/~geoffw/research/papers/MS-CIS-04-26.ps.gz","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.9.5188","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.9.5188","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cis.upenn.edu/~sweirich/papers/itaname_apr04.ps","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":41,"referenced_works":["https://openalex.org/W326743114","https://openalex.org/W1546727036","https://openalex.org/W1556536463","https://openalex.org/W1573426382","https://openalex.org/W1829244603","https://openalex.org/W1854388022","https://openalex.org/W1905449393","https://openalex.org/W1964211642","https://openalex.org/W1974398164","https://openalex.org/W1980939032","https://openalex.org/W1987203566","https://openalex.org/W1989916808","https://openalex.org/W2022407453","https://openalex.org/W2029684521","https://openalex.org/W2030916392","https://openalex.org/W2032109477","https://openalex.org/W2037021191","https://openalex.org/W2037881889","https://openalex.org/W2048569219","https://openalex.org/W2053070172","https://openalex.org/W2058137890","https://openalex.org/W2059895047","https://openalex.org/W2060029146","https://openalex.org/W2073569229","https://openalex.org/W2082367883","https://openalex.org/W2093896470","https://openalex.org/W2102699068","https://openalex.org/W2121038016","https://openalex.org/W2124117537","https://openalex.org/W2127581079","https://openalex.org/W2131828631","https://openalex.org/W2140339738","https://openalex.org/W2141384558","https://openalex.org/W2157137298","https://openalex.org/W2565555751","https://openalex.org/W2911433283","https://openalex.org/W4298231062","https://openalex.org/W6628874697","https://openalex.org/W6639027342","https://openalex.org/W6641433507","https://openalex.org/W6679727788"],"related_works":["https://openalex.org/W2493130382","https://openalex.org/W2145738007","https://openalex.org/W2112263414","https://openalex.org/W2971609332","https://openalex.org/W2110095505","https://openalex.org/W2779713464","https://openalex.org/W2017112188","https://openalex.org/W4235669620","https://openalex.org/W3087634590","https://openalex.org/W3006157134"],"abstract_inverted_index":{"Two":[0],"different":[1],"ways":[2],"of":[3,25,39,52,83,115,166,199],"defining":[4],"ad-hoc":[5,200],"polymorphic":[6,17,32,111],"operations":[7,18,33,44,85,112,138],"commonly":[8],"occur":[9],"in":[10],"programming":[11],"languages.":[12],"With":[13],"the":[14,23,29,50,81,84,90,95,107,137,203],"first":[15],"form":[16,31],"are":[19,34,45,58,66,100,122],"defined":[20,35,46,118],"inductively":[21],"on":[22,49,106],"structure":[24,51],"types":[26,65,99,131],"while":[27],"with":[28,142],"second":[30],"for":[36,60,89,113,129,145,185],"specific":[37],"sets":[38,114],"types.In":[40],"intensional":[41,73],"type":[42,74,104],"analysis":[43,75],"by":[47,119],"induction":[48],"types.":[53,116],"Therefore":[54],"no":[55],"new":[56,91,130,147,167],"cases":[57],"necessary":[59],"user-defined":[61],"types,":[62,92],"because":[63],"these":[64,98],"eQuivalent":[67],"to":[68,78,102,157,162,177],"their":[69,171,186],"underlying":[70],"structure.":[71],"However,":[72,136],"is":[76,175,182],"\"closed\"":[77],"extension,":[79],"as":[80],"behavior":[82],"cannot":[86],"be":[87,140,152],"differentiated":[88],"thus":[93],"destroying":[94],"distinctions":[96],"that":[97,160,195],"designed":[101],"express.Haskell":[103],"classes":[105],"other":[108],"hand":[109],"define":[110,192],"Operations":[117],"class":[120],"instances":[121,128],"considered":[123],"\"open\"---the":[124],"programmer":[125],"can":[126],"add":[127,158],"without":[132],"modifying":[133],"existing":[134],"code.":[135],"must":[139],"extended":[141],"specialized":[143],"code":[144],"each":[146],"type,":[148],"and":[149],"it":[150,174],"may":[151],"tedious":[153],"or":[154],"even":[155],"impossible":[156],"extensions":[159],"apply":[161],"a":[163,193],"large":[164],"universe":[165],"types.Both":[168],"approaches":[169],"have":[170],"benefits,":[172],"so":[173],"important":[176],"let":[178],"programmers":[179],"decide":[180],"which":[181],"most":[183],"appropriate":[184],"needs.":[187],"In":[188],"this":[189],"paper,":[190],"we":[191],"language":[194],"supports":[196],"both":[197],"forms":[198],"polymorphism,":[201],"using":[202],"same":[204],"basic":[205],"constructs.":[206]},"counts_by_year":[{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":3}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
