{"id":"https://openalex.org/W4392736276","doi":"https://doi.org/10.1145/3649846","title":"Deriving Dependently-Typed OOP from First Principles","display_name":"Deriving Dependently-Typed OOP from First Principles","publication_year":2024,"publication_date":"2024-04-29","ids":{"openalex":"https://openalex.org/W4392736276","doi":"https://doi.org/10.1145/3649846"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/3649846","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3649846","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3649846","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5049906391","display_name":"David A. Binder","orcid":"https://orcid.org/0000-0003-1272-0972"},"institutions":[{"id":"https://openalex.org/I8087733","display_name":"University of T\u00fcbingen","ror":"https://ror.org/03a1kwz48","country_code":"DE","type":"education","lineage":["https://openalex.org/I8087733"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"David Binder","raw_affiliation_strings":["University of T\u00fcbingen, T\u00fcbingen, Germany"],"affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, T\u00fcbingen, Germany","institution_ids":["https://openalex.org/I8087733"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5088216395","display_name":"Ingo Skupin","orcid":"https://orcid.org/0000-0001-8320-8445"},"institutions":[{"id":"https://openalex.org/I8087733","display_name":"University of T\u00fcbingen","ror":"https://ror.org/03a1kwz48","country_code":"DE","type":"education","lineage":["https://openalex.org/I8087733"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Ingo Skupin","raw_affiliation_strings":["University of T\u00fcbingen, T\u00fcbingen, Germany"],"affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, T\u00fcbingen, Germany","institution_ids":["https://openalex.org/I8087733"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5004300266","display_name":"Tim S\u00fcberkr\u00fcb","orcid":"https://orcid.org/0000-0001-8709-6321"},"institutions":[],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Tim S\u00fcberkr\u00fcb","raw_affiliation_strings":["Aleph Alpha, Heidelberg, Germany"],"affiliations":[{"raw_affiliation_string":"Aleph Alpha, Heidelberg, Germany","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5049077225","display_name":"Klaus Ostermann","orcid":"https://orcid.org/0000-0001-5294-5506"},"institutions":[{"id":"https://openalex.org/I8087733","display_name":"University of T\u00fcbingen","ror":"https://ror.org/03a1kwz48","country_code":"DE","type":"education","lineage":["https://openalex.org/I8087733"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Klaus Ostermann","raw_affiliation_strings":["University of T\u00fcbingen, T\u00fcbingen, Germany"],"affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, T\u00fcbingen, Germany","institution_ids":["https://openalex.org/I8087733"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.0,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":0,"max":84},"biblio":{"volume":"8","issue":"OOPSLA1","first_page":"983","last_page":"1009"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9984,"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.9984,"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.9565,"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/T10317","display_name":"Advanced Database Systems and Queries","score":0.9539,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/exception-handling","display_name":"Exception handling","score":0.41043365}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5724441},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.556606},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.54039735},{"id":"https://openalex.org/C145428669","wikidata":"https://www.wikidata.org/wiki/Q471748","display_name":"Exception handling","level":2,"score":0.41043365}],"mesh":[],"locations_count":2,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/3649846","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3649846","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true},{"is_oa":true,"landing_page_url":"https://arxiv.org/abs/2403.06707","pdf_url":"https://arxiv.org/pdf/2403.06707","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":["Cornell University"],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/3649846","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3649846","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":48,"referenced_works":["https://openalex.org/W126458859","https://openalex.org/W1488210308","https://openalex.org/W1533094521","https://openalex.org/W1537618227","https://openalex.org/W1544933093","https://openalex.org/W1596142788","https://openalex.org/W1649645444","https://openalex.org/W1716456307","https://openalex.org/W1969365324","https://openalex.org/W1980939032","https://openalex.org/W1987624682","https://openalex.org/W1994728568","https://openalex.org/W2003797043","https://openalex.org/W201540574","https://openalex.org/W2019629593","https://openalex.org/W2028880435","https://openalex.org/W2043416466","https://openalex.org/W2060714535","https://openalex.org/W2104422179","https://openalex.org/W2115699102","https://openalex.org/W2128448167","https://openalex.org/W2129566109","https://openalex.org/W2132181573","https://openalex.org/W2139626883","https://openalex.org/W2151011698","https://openalex.org/W2151716725","https://openalex.org/W2156285626","https://openalex.org/W2158830522","https://openalex.org/W2163552400","https://openalex.org/W2164343886","https://openalex.org/W2178095747","https://openalex.org/W2384122606","https://openalex.org/W2518300910","https://openalex.org/W2562932989","https://openalex.org/W2751791540","https://openalex.org/W2798938825","https://openalex.org/W2883066834","https://openalex.org/W2931799723","https://openalex.org/W2966631854","https://openalex.org/W2994884029","https://openalex.org/W3003081834","https://openalex.org/W3105944042","https://openalex.org/W3195525157","https://openalex.org/W32613657","https://openalex.org/W4224608748","https://openalex.org/W4241907611","https://openalex.org/W4245021137","https://openalex.org/W4379537139"],"related_works":["https://openalex.org/W4313400425","https://openalex.org/W4244303744","https://openalex.org/W2611825707","https://openalex.org/W2607262752","https://openalex.org/W2552002334","https://openalex.org/W2360234149","https://openalex.org/W2114879684","https://openalex.org/W1580516753","https://openalex.org/W1578809901","https://openalex.org/W1547394117"],"abstract_inverted_index":{"The":[0,68],"expression":[1,69],"problem":[2,70],"describes":[3],"how":[4],"most":[5],"types":[6,179],"can":[7,42,257],"easily":[8,43],"be":[9,44,258],"extended":[10,45],"with":[11,46,116,177],"new":[12,19,47,58,86,94,104,107],"ways":[13,20,249],"to":[14,21,74,245],"produce":[15],"the":[16,23,61,76,125,131,140,150,163,198,247,264],"type":[17],"or":[18,52,80,106],"consume":[22],"type,":[24,38],"but":[25,55,115,184],"not":[26,130,171],"both.":[27],"When":[28],"abstract":[29],"syntax":[30],"trees":[31],"are":[32,101],"defined":[33],"as":[34,50,260],"an":[35,136,173,181],"algebraic":[36],"data":[37],"for":[39,111],"example,":[40],"they":[41],"consumers,":[48],"such":[49],"print":[51],"eval":[53],",":[54],"adding":[56],"a":[57,188,209],"constructor":[59],"requires":[60],"modification":[62],"of":[63,152,165,201,263,267],"all":[64],"existing":[65,174],"pattern":[66],"matches.":[67],"is":[71,208],"one":[72,117],"way":[73],"elucidate":[75],"difference":[77,97],"between":[78,98,225],"functional":[79,126],"data-oriented":[81,190],"programs":[82,90,99],"(easily":[83,91],"extendable":[84,92],"by":[85,93,103,156,197],"consumers)":[87],"and":[88,129,192,203,222,231,238,241],"object-oriented":[89,132,154,175],"producers).":[95],"This":[96],"which":[100,134,213,251],"extensible":[102],"producers":[105],"consumers":[108],"also":[109],"exists":[110],"dependently":[112,210,254],"typed":[113,211,255],"programming,":[114],"core":[118],"difference:":[119],"Dependently-typed":[120],"programming":[121,127,141,155,256],"almost":[122],"exclusively":[123],"follows":[124],"model":[128],"model,":[133],"leaves":[135],"interesting":[137],"space":[138],"in":[139,180,250,253],"language":[142,191,217,228,237],"landscape":[143],"unexplored.":[144],"In":[145],"this":[146,236,243],"paper,":[147],"we":[148,169],"explore":[149],"field":[151],"dependently-typed":[153],"deriving":[157],"it":[158],"from":[159,187],"first":[160],"principles":[161],"using":[162],"principle":[164],"duality.":[166,268],"That":[167],"is,":[168],"do":[170],"extend":[172],"formalism":[176],"dependent":[178],"ad-hoc":[182],"fashion,":[183],"instead":[185],"start":[186],"familiar":[189],"derive":[193],"its":[194],"dual":[195,216],"fragment":[196],"systematic":[199],"use":[200,242],"defunctionalization":[202,230],"refunctionalization.":[204,232],"Our":[205],"central":[206],"contribution":[207],"calculus":[212],"contains":[214],"two":[215,227],"fragments.":[218],"We":[219,233],"provide":[220],"type-":[221],"semantics-preserving":[223],"transformations":[224,240],"these":[226,239],"fragments:":[229],"have":[234],"implemented":[235],"implementation":[244],"explain":[246],"various":[248],"constructions":[252],"explained":[259],"special":[261],"instances":[262],"general":[265],"phenomenon":[266]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W4392736276","counts_by_year":[],"updated_date":"2024-12-10T20:29:02.811972","created_date":"2024-03-13"}