{"id":"https://openalex.org/W2886967734","doi":"https://doi.org/10.4230/lipics.ecoop.2018.13","title":"Dependent Types for Class-based Mutable Objects","display_name":"Dependent Types for Class-based Mutable Objects","publication_year":2018,"publication_date":"2018-01-01","ids":{"openalex":"https://openalex.org/W2886967734","doi":"https://doi.org/10.4230/lipics.ecoop.2018.13","mag":"2886967734"},"language":"en","primary_location":{"id":"pmh:oai:drops-oai.dagstuhl.de:9218","doi":null,"is_oa":true,"landing_page_url":"https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2018.13","pdf_url":"https://drops.dagstuhl.de/storage/00lipics/lipics-vol109-ecoop2018/LIPIcs.ECOOP.2018.13/LIPIcs.ECOOP.2018.13.pdf","source":{"id":"https://openalex.org/S4377196569","display_name":"DROPS (Schloss Dagstuhl \u2013 Leibniz Center for Informatics)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I2799853480","host_organization_name":"Schloss Dagstuhl \u2013 Leibniz Center for Informatics","host_organization_lineage":["https://openalex.org/I2799853480"],"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":null,"raw_type":"InProceedings"},"volume":null,"type":"article","is_traditional":true,"indexed_in":["datacite","doaj"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://drops.dagstuhl.de/storage/00lipics/lipics-vol109-ecoop2018/LIPIcs.ECOOP.2018.13/LIPIcs.ECOOP.2018.13.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5040099871","display_name":"Joana Campos","orcid":"https://orcid.org/0000-0002-2185-8175","observed_orcids":["https://orcid.org/0000-0002-2185-8175"]},"institutions":[{"id":"https://openalex.org/I141596103","display_name":"University of Lisbon","ror":"https://ror.org/01c27hj86","country_code":"PT","type":"education","lineage":["https://openalex.org/I141596103"]},{"id":"https://openalex.org/I4405257439","display_name":"Laborat\u00f3rio de Sistemas Inform\u00e1ticos de Grande Escala","ror":"https://ror.org/0597csq05","country_code":"PT","type":"facility","lineage":["https://openalex.org/I4405257439"]}],"countries":["PT"],"is_corresponding":false,"raw_author_name":"Campos, Joana","raw_affiliation_strings":["LASIGE, Faculdade de Ci\u00eancias, Universidade de Lisboa, Portugal","University of Lisbon, Lisbon, Portugal"],"raw_orcid":"https://orcid.org/0000-0002-2185-8175","affiliations":[{"raw_affiliation_string":"LASIGE, Faculdade de Ci\u00eancias, Universidade de Lisboa, Portugal","institution_ids":["https://openalex.org/I141596103","https://openalex.org/I4405257439"]},{"raw_affiliation_string":"University of Lisbon, Lisbon, Portugal","institution_ids":["https://openalex.org/I141596103"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5016342119","display_name":"VASCO THUDICHUM VASCONCELOS","orcid":"https://orcid.org/0000-0002-9539-8861","observed_orcids":["https://orcid.org/0000-0002-9539-8861"]},"institutions":[{"id":"https://openalex.org/I141596103","display_name":"University of Lisbon","ror":"https://ror.org/01c27hj86","country_code":"PT","type":"education","lineage":["https://openalex.org/I141596103"]},{"id":"https://openalex.org/I4405257439","display_name":"Laborat\u00f3rio de Sistemas Inform\u00e1ticos de Grande Escala","ror":"https://ror.org/0597csq05","country_code":"PT","type":"facility","lineage":["https://openalex.org/I4405257439"]}],"countries":["PT"],"is_corresponding":false,"raw_author_name":"Vasconcelos, Vasco T.","raw_affiliation_strings":["LASIGE, Faculdade de Ci\u00eancias, Universidade de Lisboa, Portugal","University of Lisbon, Lisbon, Portugal"],"raw_orcid":"https://orcid.org/0000-0002-9539-8861","affiliations":[{"raw_affiliation_string":"LASIGE, Faculdade de Ci\u00eancias, Universidade de Lisboa, Portugal","institution_ids":["https://openalex.org/I141596103","https://openalex.org/I4405257439"]},{"raw_affiliation_string":"University of Lisbon, Lisbon, Portugal","institution_ids":["https://openalex.org/I141596103"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.7298,"has_fulltext":true,"cited_by_count":3,"citation_normalized_percentile":{"value":0.77758865,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":87,"max":93},"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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":1.0,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.0,"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/T10533","display_name":"Teaching and Learning Programming","score":0.0,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"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/dependent-types","display_name":"dependent types","score":0.9919999837875366},{"id":"https://openalex.org/keywords/mutable-objects","display_name":"mutable objects","score":0.9079999923706055},{"id":"https://openalex.org/keywords/class-based-programming","display_name":"class-based programming","score":0.8899999856948853},{"id":"https://openalex.org/keywords/inheritance-object-oriented-programming","display_name":"inheritance (object-oriented programming)","score":0.9330000281333923},{"id":"https://openalex.org/keywords/class-invariants","display_name":"class invariants","score":0.8550000190734863},{"id":"https://openalex.org/keywords/binary-search-trees","display_name":"binary search trees","score":0.7490000128746033},{"id":"https://openalex.org/keywords/quantifier-instantiation","display_name":"quantifier instantiation","score":0.8740000128746033},{"id":"https://openalex.org/keywords/object-oriented-programming-languages","display_name":"object-oriented programming languages","score":0.6330000162124634},{"id":"https://openalex.org/keywords/type-soundness","display_name":"type soundness","score":0.6840000152587891}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6399977803230286},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.594044029712677},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2994968295097351}],"mesh":[],"locations_count":3,"locations":[{"id":"pmh:oai:drops-oai.dagstuhl.de:9218","doi":null,"is_oa":true,"landing_page_url":"https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2018.13","pdf_url":"https://drops.dagstuhl.de/storage/00lipics/lipics-vol109-ecoop2018/LIPIcs.ECOOP.2018.13/LIPIcs.ECOOP.2018.13.pdf","source":{"id":"https://openalex.org/S4377196569","display_name":"DROPS (Schloss Dagstuhl \u2013 Leibniz Center for Informatics)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I2799853480","host_organization_name":"Schloss Dagstuhl \u2013 Leibniz Center for Informatics","host_organization_lineage":["https://openalex.org/I2799853480"],"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":null,"raw_type":"InProceedings"},{"id":"doi:10.4230/lipics.ecoop.2018.13","doi":"https://doi.org/10.4230/lipics.ecoop.2018.13","is_oa":true,"landing_page_url":"https://doi.org/10.4230/lipics.ecoop.2018.13","pdf_url":null,"source":{"id":"https://openalex.org/S4393917817","display_name":"Leibniz international proceedings in informatics","issn_l":"1868-8969","issn":["1868-8969"],"is_oa":true,"is_in_doaj":true,"is_core":false,"listed_in":["doaj","jufo-1","norway-1"],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"ConferencePaper"},{"id":"mag:2886967734","doi":null,"is_oa":false,"landing_page_url":"http://dblp.uni-trier.de/db/conf/ecoop/ecoop2018.html#0002V18","pdf_url":null,"source":{"id":"https://openalex.org/S4306418338","display_name":"European Conference on Object-Oriented Programming","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":"European Conference on Object-Oriented Programming","raw_type":null}],"best_oa_location":{"id":"pmh:oai:drops-oai.dagstuhl.de:9218","doi":null,"is_oa":true,"landing_page_url":"https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2018.13","pdf_url":"https://drops.dagstuhl.de/storage/00lipics/lipics-vol109-ecoop2018/LIPIcs.ECOOP.2018.13/LIPIcs.ECOOP.2018.13.pdf","source":{"id":"https://openalex.org/S4377196569","display_name":"DROPS (Schloss Dagstuhl \u2013 Leibniz Center for Informatics)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I2799853480","host_organization_name":"Schloss Dagstuhl \u2013 Leibniz Center for Informatics","host_organization_lineage":["https://openalex.org/I2799853480"],"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":null,"raw_type":"InProceedings"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2886967734.pdf","grobid_xml":"https://content.openalex.org/works/W2886967734.grobid-xml"},"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W2889448379","https://openalex.org/W2888437333","https://openalex.org/W2016226915","https://openalex.org/W7100533288","https://openalex.org/W7100314359","https://openalex.org/W7009557062","https://openalex.org/W370056523","https://openalex.org/W7074249744","https://openalex.org/W126458859","https://openalex.org/W2118230497"],"abstract_inverted_index":{"We":[0,119,135],"present":[1],"an":[2,70,138,163],"imperative":[3,24,71],"object-oriented":[4],"language":[5,90],"featuring":[6],"a":[7,31,121,144,151,179,185],"dependent":[8,33],"type":[9,34,123,140],"system":[10,35,124,141],"designed":[11],"to":[12,36,47,54,98,109,160],"support":[13],"class-based":[14],"programming":[15],"and":[16,26,40,49,63,73,101,154,176],"inheritance.":[17],"Programmers":[18],"implement":[19,61],"classes":[20,100],"in":[21,69,150,169,178],"the":[22,80,87,167,170,188],"usual":[23],"style,":[25,72,153],"may":[27,130],"take":[28],"advantage":[29],"of":[30,58,97,147],"richer":[32],"express":[37],"class":[38],"invariants":[39],"restrictions":[41],"on":[42],"how":[43],"objects":[44,93,127],"are":[45],"allowed":[46],"change":[48],"be":[50,110],"used":[51],"as":[52],"arguments":[53],"methods.":[55],"By":[56],"way":[57],"example,":[59],"we":[60,95],"insertion":[62],"deletion":[64],"for":[65,187],"binary":[66,81],"search":[67,82],"trees":[68],"come":[74],"up":[75],"with":[76,91],"types":[77,107,129],"that":[78,94,125,142,183],"ensure":[79],"tree":[83],"invariant.":[84],"This":[85],"is":[86,158],"first":[88],"dependently-typed":[89],"mutable":[92],"know":[96],"bring":[99],"index":[102],"refinements":[103],"into":[104],"play,":[105],"enabling":[106],"(classes)":[108],"refined":[111],"by":[112],"indices":[113],"drawn":[114],"from":[115,155],"some":[116],"constraint":[117],"domain.":[118],"give":[120,137],"declarative":[122],"supports":[126],"whose":[128],"change,":[131],"despite":[132],"being":[133],"sound.":[134],"also":[136],"algorithmic":[139],"provides":[143],"precise":[145],"account":[146],"quantifier":[148],"instantiation":[149],"bidirectional":[152],"which":[156],"it":[157],"straightforward":[159],"read":[161],"off":[162],"implementation.":[164],"Moreover,":[165],"all":[166],"examples":[168],"paper":[171],"have":[172],"been":[173],"run,":[174],"compiled":[175],"executed":[177],"fully":[180],"functional":[181],"prototype":[182],"includes":[184],"plugin":[186],"Eclipse":[189],"IDE.":[190]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1}],"updated_date":"2026-11-07T11:25:07.637180","created_date":"2018-08-22T00:00:00"}
