{"id":"https://openalex.org/W2016049804","doi":"https://doi.org/10.1016/s1571-0661(04)80008-2","title":"Type Inference for Recursively Constrained Types and its Application to OOP","display_name":"Type Inference for Recursively Constrained Types and its Application to OOP","publication_year":1995,"publication_date":"1995-01-01","ids":{"openalex":"https://openalex.org/W2016049804","doi":"https://doi.org/10.1016/s1571-0661(04)80008-2","mag":"2016049804"},"language":"en","primary_location":{"id":"doi:10.1016/s1571-0661(04)80008-2","is_oa":true,"landing_page_url":"https://doi.org/10.1016/s1571-0661(04)80008-2","pdf_url":null,"source":{"id":"https://openalex.org/S50368787","display_name":"Electronic Notes in Theoretical Computer Science","issn_l":"1571-0661","issn":["1571-0661"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Electronic Notes in Theoretical Computer Science","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1016/s1571-0661(04)80008-2","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5021973443","display_name":"Jonathan Eifrig","orcid":null},"institutions":[{"id":"https://openalex.org/I145311948","display_name":"Johns Hopkins University","ror":"https://ror.org/00za53h95","country_code":"US","type":"education","lineage":["https://openalex.org/I145311948"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Jonathan Eifrig","raw_affiliation_strings":["Department of Computer Science, The Johns Hopkins University, Baltimore, Maryland 21218, USA","Department of Computer Science, The Johns Hopkins University, Baltimore, Maryland, 21218, USA;"],"affiliations":[{"raw_affiliation_string":"Department of Computer Science, The Johns Hopkins University, Baltimore, Maryland 21218, USA","institution_ids":["https://openalex.org/I145311948"]},{"raw_affiliation_string":"Department of Computer Science, The Johns Hopkins University, Baltimore, Maryland, 21218, USA;","institution_ids":["https://openalex.org/I145311948"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5105925430","display_name":"Scott F. Smith","orcid":"https://orcid.org/0009-0005-0495-2716"},"institutions":[{"id":"https://openalex.org/I145311948","display_name":"Johns Hopkins University","ror":"https://ror.org/00za53h95","country_code":"US","type":"education","lineage":["https://openalex.org/I145311948"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Scott Smith","raw_affiliation_strings":["Department of Computer Science, The Johns Hopkins University, Baltimore, Maryland 21218, USA","Department of Computer Science, The Johns Hopkins University, Baltimore, Maryland, 21218, USA;"],"affiliations":[{"raw_affiliation_string":"Department of Computer Science, The Johns Hopkins University, Baltimore, Maryland 21218, USA","institution_ids":["https://openalex.org/I145311948"]},{"raw_affiliation_string":"Department of Computer Science, The Johns Hopkins University, Baltimore, Maryland, 21218, USA;","institution_ids":["https://openalex.org/I145311948"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5112263460","display_name":"Valery Trifonov","orcid":null},"institutions":[{"id":"https://openalex.org/I145311948","display_name":"Johns Hopkins University","ror":"https://ror.org/00za53h95","country_code":"US","type":"education","lineage":["https://openalex.org/I145311948"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Valery Trifonov","raw_affiliation_strings":["Department of Computer Science, The Johns Hopkins University, Baltimore, Maryland 21218, USA","Department of Computer Science, The Johns Hopkins University, Baltimore, Maryland, 21218, USA;"],"affiliations":[{"raw_affiliation_string":"Department of Computer Science, The Johns Hopkins University, Baltimore, Maryland 21218, USA","institution_ids":["https://openalex.org/I145311948"]},{"raw_affiliation_string":"Department of Computer Science, The Johns Hopkins University, Baltimore, Maryland, 21218, USA;","institution_ids":["https://openalex.org/I145311948"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5021973443","https://openalex.org/A5105925430","https://openalex.org/A5112263460"],"corresponding_institution_ids":["https://openalex.org/I145311948"],"apc_list":null,"apc_paid":null,"fwci":15.8773,"has_fulltext":false,"cited_by_count":92,"citation_normalized_percentile":{"value":0.99128895,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":"1","issue":null,"first_page":"132","last_page":"153"},"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/T10142","display_name":"Formal Methods in Verification","score":0.9944999814033508,"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/T10260","display_name":"Software Engineering Research","score":0.9918000102043152,"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/soundness","display_name":"Soundness","score":0.8716958165168762},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.7696714401245117},{"id":"https://openalex.org/keywords/encode","display_name":"ENCODE","score":0.7426494359970093},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7061824798583984},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.6876117587089539},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.5781009197235107},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5624368190765381},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.5498235821723938},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5336654186248779},{"id":"https://openalex.org/keywords/completeness","display_name":"Completeness (order theory)","score":0.5205746293067932},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.48341071605682373},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.4653739631175995},{"id":"https://openalex.org/keywords/abstract-data-type","display_name":"Abstract data type","score":0.43229928612709045},{"id":"https://openalex.org/keywords/bounded-function","display_name":"Bounded function","score":0.41557225584983826},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.24761858582496643},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.24506685137748718}],"concepts":[{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.8716958165168762},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.7696714401245117},{"id":"https://openalex.org/C66746571","wikidata":"https://www.wikidata.org/wiki/Q1134833","display_name":"ENCODE","level":3,"score":0.7426494359970093},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7061824798583984},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.6876117587089539},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.5781009197235107},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5624368190765381},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.5498235821723938},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5336654186248779},{"id":"https://openalex.org/C17231256","wikidata":"https://www.wikidata.org/wiki/Q5156540","display_name":"Completeness (order theory)","level":2,"score":0.5205746293067932},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.48341071605682373},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.4653739631175995},{"id":"https://openalex.org/C175971053","wikidata":"https://www.wikidata.org/wiki/Q827335","display_name":"Abstract data type","level":2,"score":0.43229928612709045},{"id":"https://openalex.org/C34388435","wikidata":"https://www.wikidata.org/wiki/Q2267362","display_name":"Bounded function","level":2,"score":0.41557225584983826},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.24761858582496643},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.24506685137748718},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","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":2,"locations":[{"id":"doi:10.1016/s1571-0661(04)80008-2","is_oa":true,"landing_page_url":"https://doi.org/10.1016/s1571-0661(04)80008-2","pdf_url":null,"source":{"id":"https://openalex.org/S50368787","display_name":"Electronic Notes in Theoretical Computer Science","issn_l":"1571-0661","issn":["1571-0661"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Electronic Notes in Theoretical Computer Science","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.25.9496","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.25.9496","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.jhu.edu/~scott/ftp/ooinfer.ps.gz","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1016/s1571-0661(04)80008-2","is_oa":true,"landing_page_url":"https://doi.org/10.1016/s1571-0661(04)80008-2","pdf_url":null,"source":{"id":"https://openalex.org/S50368787","display_name":"Electronic Notes in Theoretical Computer Science","issn_l":"1571-0661","issn":["1571-0661"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Electronic Notes in Theoretical Computer Science","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W140926411","https://openalex.org/W1512023806","https://openalex.org/W1532892735","https://openalex.org/W1590106610","https://openalex.org/W1703087989","https://openalex.org/W1874450173","https://openalex.org/W1969093922","https://openalex.org/W1978692906","https://openalex.org/W1980939032","https://openalex.org/W1989181218","https://openalex.org/W1990365157","https://openalex.org/W2022443117","https://openalex.org/W2027657506","https://openalex.org/W2050012658","https://openalex.org/W2069037543","https://openalex.org/W2090415524","https://openalex.org/W2091909330","https://openalex.org/W2095988676","https://openalex.org/W2104862163","https://openalex.org/W2125048909","https://openalex.org/W2129788677","https://openalex.org/W2140086559","https://openalex.org/W2151156765","https://openalex.org/W2153060956","https://openalex.org/W2166822586","https://openalex.org/W2312660365","https://openalex.org/W2597834528","https://openalex.org/W2686043342","https://openalex.org/W3093453896","https://openalex.org/W4253189236"],"related_works":["https://openalex.org/W2081551198","https://openalex.org/W2294370068","https://openalex.org/W1718424146","https://openalex.org/W1996169556","https://openalex.org/W4213129642","https://openalex.org/W1550049051","https://openalex.org/W624617926","https://openalex.org/W2112150205","https://openalex.org/W1987975642","https://openalex.org/W174139873"],"abstract_inverted_index":{"We":[0,96],"define":[1],"a":[2,23,71],"powerful":[3],"type":[4,44,79],"inference":[5,80],"mechanism":[6],"with":[7,22],"application":[8],"to":[9,48,67,105],"object-oriented":[10,109],"programming.":[11],"The":[12,53],"types":[13,19,28,36,107],"inferred":[14],"are":[15,46,82],"recursively":[16],"constrained":[17],"types,":[18,40],"that":[20,45],"come":[21],"system":[24],"of":[25,34,43,77,108],"constraints.":[26],"These":[27],"may":[29,101],"be":[30,102],"viewed":[31],"as":[32],"generalizations":[33],"recursive":[35],"and":[37,61,75],"F-bounded":[38],"polymorphic":[39],"the":[41,63,78,99],"forms":[42],"necessary":[47],"properly":[49],"encode":[50,68],"object":[51],"typings.":[52],"base":[54],"language":[55],"we":[56],"study,":[57],"I-Soop,":[58],"incorporates":[59],"state":[60],"records,":[62],"two":[64],"features":[65],"critical":[66],"objects":[69],"in":[70],"non-object-oriented":[72],"language.":[73],"Soundness":[74],"completeness":[76],"algorithm":[81,100],"established":[83],"by":[84],"operational":[85],"means.":[86],"Our":[87],"method":[88],"for":[89],"establishing":[90],"these":[91],"properties":[92],"is":[93],"somewhat":[94],"novel.":[95],"illustrate":[97],"how":[98],"fruitfully":[103],"applied":[104],"infer":[106],"programs.":[110]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":1}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
