{"id":"https://openalex.org/W2898547734","doi":"https://doi.org/10.1145/3276484","title":"Scopes as types","display_name":"Scopes as types","publication_year":2018,"publication_date":"2018-10-24","ids":{"openalex":"https://openalex.org/W2898547734","doi":"https://doi.org/10.1145/3276484","mag":"2898547734"},"language":"en","primary_location":{"id":"doi:10.1145/3276484","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276484","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276484","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3276484","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5086247961","display_name":"Hendrik van Antwerpen","orcid":"https://orcid.org/0000-0001-5117-0921"},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Hendrik van Antwerpen","raw_affiliation_strings":["Delft University of Technology, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Delft University of Technology, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5087571354","display_name":"Casper Bach Poulsen","orcid":"https://orcid.org/0000-0003-0622-7639"},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Casper Bach Poulsen","raw_affiliation_strings":["Delft University of Technology, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Delft University of Technology, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5020051426","display_name":"Arjen Rouvoet","orcid":"https://orcid.org/0000-0002-4789-9995"},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Arjen Rouvoet","raw_affiliation_strings":["Delft University of Technology, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Delft University of Technology, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5072923235","display_name":"Eelco Visser","orcid":"https://orcid.org/0000-0002-7384-3370"},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Eelco Visser","raw_affiliation_strings":["Delft University of Technology, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Delft University of Technology, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.8585,"has_fulltext":true,"cited_by_count":31,"citation_normalized_percentile":{"value":0.89272083,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":"2","issue":"OOPSLA","first_page":"1","last_page":"30"},"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/T10260","display_name":"Software Engineering Research","score":0.9970999956130981,"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"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9919999837875366,"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/computer-science","display_name":"Computer science","score":0.7861126661300659},{"id":"https://openalex.org/keywords/scope","display_name":"Scope (computer science)","score":0.659114420413971},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6331427097320557},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.6171602606773376},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5201138257980347},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.5159059762954712},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.49574336409568787},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.4632168412208557},{"id":"https://openalex.org/keywords/operational-semantics","display_name":"Operational semantics","score":0.45889994502067566},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.4439443349838257},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.43924954533576965},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.43179383873939514},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1393641233444214}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7861126661300659},{"id":"https://openalex.org/C2778012447","wikidata":"https://www.wikidata.org/wiki/Q1034415","display_name":"Scope (computer science)","level":2,"score":0.659114420413971},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6331427097320557},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.6171602606773376},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5201138257980347},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.5159059762954712},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.49574336409568787},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.4632168412208557},{"id":"https://openalex.org/C156325763","wikidata":"https://www.wikidata.org/wiki/Q1930895","display_name":"Operational semantics","level":3,"score":0.45889994502067566},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.4439443349838257},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.43924954533576965},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.43179383873939514},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1393641233444214},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3276484","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276484","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276484","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:tudelft.nl:uuid:9aad733b-23d4-45d7-b52f-331b80c5d029","is_oa":true,"landing_page_url":"http://resolver.tudelft.nl/uuid:9aad733b-23d4-45d7-b52f-331b80c5d029","pdf_url":null,"source":{"id":"https://openalex.org/S4306400906","display_name":"Research Repository (Delft University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98358874","host_organization_name":"Delft University of Technology","host_organization_lineage":["https://openalex.org/I98358874"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"journal article"}],"best_oa_location":{"id":"doi:10.1145/3276484","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276484","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276484","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Peace, Justice and strong institutions","id":"https://metadata.un.org/sdg/16","score":0.4000000059604645}],"awards":[{"id":"https://openalex.org/G6376596738","display_name":null,"funder_award_id":"639.023.206","funder_id":"https://openalex.org/F4320321800","funder_display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek"}],"funders":[{"id":"https://openalex.org/F4320321800","display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek","ror":"https://ror.org/04jsz6e67"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2898547734.pdf","grobid_xml":"https://content.openalex.org/works/W2898547734.grobid-xml"},"referenced_works_count":41,"referenced_works":["https://openalex.org/W781995223","https://openalex.org/W1518650316","https://openalex.org/W1557561422","https://openalex.org/W1595372275","https://openalex.org/W1738994323","https://openalex.org/W1988095811","https://openalex.org/W2003556922","https://openalex.org/W2019376542","https://openalex.org/W2022744394","https://openalex.org/W2032220227","https://openalex.org/W2033348393","https://openalex.org/W2036676170","https://openalex.org/W2048417351","https://openalex.org/W2068457689","https://openalex.org/W2069858276","https://openalex.org/W2070821087","https://openalex.org/W2074059134","https://openalex.org/W2093737074","https://openalex.org/W2096529083","https://openalex.org/W2114958714","https://openalex.org/W2121410918","https://openalex.org/W2163976959","https://openalex.org/W2166822586","https://openalex.org/W2238262809","https://openalex.org/W2243428364","https://openalex.org/W2295447786","https://openalex.org/W2402209726","https://openalex.org/W2476059279","https://openalex.org/W2487817738","https://openalex.org/W2496247227","https://openalex.org/W2528665042","https://openalex.org/W2552830769","https://openalex.org/W2560908054","https://openalex.org/W2564970793","https://openalex.org/W2570710533","https://openalex.org/W2777364118","https://openalex.org/W2898868394","https://openalex.org/W2952075001","https://openalex.org/W3010001255","https://openalex.org/W4234159174","https://openalex.org/W4236324644"],"related_works":["https://openalex.org/W2523205872","https://openalex.org/W2493130382","https://openalex.org/W2145738007","https://openalex.org/W2157155332","https://openalex.org/W2112263414","https://openalex.org/W2110095505","https://openalex.org/W2397205586","https://openalex.org/W3098631048","https://openalex.org/W784401050","https://openalex.org/W4252649616"],"abstract_inverted_index":{"Scope":[0],"graphs":[1,37,105,127],"are":[2],"a":[3,66,114],"promising":[4],"generic":[5,76,80],"framework":[6],"to":[7,41,58],"model":[8,59],"the":[9,20,26,60,79,119,132,138,145],"binding":[10],"structures":[11],"of":[12,22,28,63,68,82,97,121,144],"programming":[13],"languages,":[14],"bridging":[15],"formalization":[16],"and":[17,25,75,109,128,137,153],"implementation,":[18],"supporting":[19],"definition":[21],"type":[23,29,44,70],"checkers":[24],"automation":[27],"safety":[30],"proofs.":[31],"However,":[32],"previous":[33],"work":[34],"on":[35,125],"scope":[36,99,104,126],"has":[38],"been":[39],"limited":[40],"simple,":[42],"nominal":[43],"systems.":[45],"In":[46],"this":[47],"paper,":[48],"we":[49,85],"show":[50,86],"that":[51,87],"viewing":[52],"scopes":[53,133],"as":[54,134],"types":[55,64,91,135],"enables":[56],"us":[57],"internal":[61],"structure":[62],"in":[65,95,141],"range":[67],"non-simple":[69],"systems":[71],"(including":[72],"structural":[73],"records":[74],"classes)":[77],"using":[78],"representation":[81],"scopes.":[83],"Further,":[84],"relations":[88,108],"between":[89],"such":[90],"can":[92],"be":[93],"expressed":[94],"terms":[96],"generalized":[98],"graph":[100],"queries.":[101,110],"We":[102,111,130],"extend":[103],"with":[106,149],"scoped":[107],"introduce":[112],"Statix,":[113],"new":[115],"domain-specific":[116],"meta-language":[117],"for":[118],"specification":[120],"static":[122],"semantics,":[123],"based":[124],"constraints.":[129],"evaluate":[131],"approach":[136],"Statix":[139],"design":[140],"case":[142],"studies":[143],"simply-typed":[146],"lambda":[147],"calculus":[148],"records,":[150],"System":[151],"F,":[152],"Featherweight":[154],"Generic":[155],"Java.":[156]},"counts_by_year":[{"year":2025,"cited_by_count":5},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":8},{"year":2020,"cited_by_count":6},{"year":2019,"cited_by_count":5}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2018-11-02T00:00:00"}
