{"id":"https://openalex.org/W2005192022","doi":"https://doi.org/10.1145/292540.292560","title":"Dependent types in practical programming","display_name":"Dependent types in practical programming","publication_year":1999,"publication_date":"1999-01-01","ids":{"openalex":"https://openalex.org/W2005192022","doi":"https://doi.org/10.1145/292540.292560","mag":"2005192022"},"language":"en","primary_location":{"id":"doi:10.1145/292540.292560","doi":"https://doi.org/10.1145/292540.292560","is_oa":true,"landing_page_url":"https://doi.org/10.1145/292540.292560","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/292540.292560","source":{"id":"https://openalex.org/S7407088133","display_name":"ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL)","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":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/292540.292560","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5101718310","display_name":"Hongwei Xi","orcid":"https://orcid.org/0000-0001-6642-8307","observed_orcids":["https://orcid.org/0000-0001-6642-8307","https://orcid.org/0000-0003-1289-7794"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Hongwei Xi","raw_affiliation_strings":["Department of Computer Science and Engineering, Oregon Graduate Institute of Science and Technology","Department of Computer Science and Engineering, Oregon Graduate Institute of Science & Technology#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science and Engineering, Oregon Graduate Institute of Science and Technology","institution_ids":[]},{"raw_affiliation_string":"Department of Computer Science and Engineering, Oregon Graduate Institute of Science & Technology#TAB#","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5021476649","display_name":"Frank Pfenning","orcid":"https://orcid.org/0000-0002-8279-5817","observed_orcids":["https://orcid.org/0000-0002-8279-5817"]},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Frank Pfenning","raw_affiliation_strings":["Department of Computer Science, Carnegie Mellon University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, Carnegie Mellon University","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":18.5941,"has_fulltext":true,"cited_by_count":578,"citation_normalized_percentile":{"value":0.99764836,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":97,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"214","last_page":"227"},"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/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":1.0,"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.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/T10317","display_name":"Advanced Database Systems and Queries","score":0.0,"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/dependent-types","display_name":"dependent types","score":1.0},{"id":"https://openalex.org/keywords/type-systems","display_name":"type systems","score":0.7059999704360962},{"id":"https://openalex.org/keywords/ml","display_name":"ML","score":0.5080000162124634},{"id":"https://openalex.org/keywords/constraint-domains","display_name":"constraint domains","score":0.6840000152587891},{"id":"https://openalex.org/keywords/type-inference","display_name":"type inference","score":0.6290000081062317},{"id":"https://openalex.org/keywords/type-checking","display_name":"type checking","score":0.8650000095367432},{"id":"https://openalex.org/keywords/constraint-satisfaction","display_name":"constraint satisfaction","score":0.9779999852180481},{"id":"https://openalex.org/keywords/software-defect-detection","display_name":"software defect detection","score":0.7059999704360962},{"id":"https://openalex.org/keywords/compiler-optimization","display_name":"compiler optimization","score":0.984000027179718},{"id":"https://openalex.org/keywords/conservative-extension","display_name":"conservative extension","score":0.5569999814033508},{"id":"https://openalex.org/keywords/integer-constraints","display_name":"integer constraints","score":0.5820000171661377},{"id":"https://openalex.org/keywords/linear-inequalities","display_name":"linear inequalities","score":0.7609999775886536},{"id":"https://openalex.org/keywords/higher-order-functions","display_name":"higher-order functions","score":0.7160000205039978},{"id":"https://openalex.org/keywords/mutable-references","display_name":"mutable references","score":0.8330000042915344},{"id":"https://openalex.org/keywords/exception","display_name":"exception","score":0.9269999861717224}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6914310455322266},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.347989022731781}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/292540.292560","doi":"https://doi.org/10.1145/292540.292560","is_oa":true,"landing_page_url":"https://doi.org/10.1145/292540.292560","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/292540.292560","source":{"id":"https://openalex.org/S7407088133","display_name":"ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL)","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":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.41.548","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.548","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.ececs.uc.edu/~hwxi/academic/papers/thesis.ps.gz","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.69.2042","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.69.2042","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.cmu.edu/~rwh/theses/xi.pdf","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/292540.292560","doi":"https://doi.org/10.1145/292540.292560","is_oa":true,"landing_page_url":"https://doi.org/10.1145/292540.292560","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/292540.292560","source":{"id":"https://openalex.org/S7407088133","display_name":"ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL)","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":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"},"sustainable_development_goals":[],"sustainable_development_goals_aurora":[],"study_designs":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320332815","display_name":"Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2005192022.pdf","grobid_xml":"https://content.openalex.org/works/W2005192022.grobid-xml"},"referenced_works_count":80,"referenced_works":["https://openalex.org/W4861723","https://openalex.org/W18425853","https://openalex.org/W60185894","https://openalex.org/W165446927","https://openalex.org/W191500592","https://openalex.org/W569543113","https://openalex.org/W975212003","https://openalex.org/W1483728665","https://openalex.org/W1485894532","https://openalex.org/W1498926208","https://openalex.org/W1501212217","https://openalex.org/W1525444671","https://openalex.org/W1534508664","https://openalex.org/W1548959602","https://openalex.org/W1568140005","https://openalex.org/W1569569047","https://openalex.org/W1585676614","https://openalex.org/W1586892155","https://openalex.org/W1587012427","https://openalex.org/W1608194541","https://openalex.org/W1644882639","https://openalex.org/W1657888366","https://openalex.org/W1659048632","https://openalex.org/W1829244603","https://openalex.org/W1852211073","https://openalex.org/W1867436870","https://openalex.org/W1897394549","https://openalex.org/W1949275316","https://openalex.org/W1953527632","https://openalex.org/W1974190112","https://openalex.org/W1975575519","https://openalex.org/W1986402635","https://openalex.org/W1996325171","https://openalex.org/W2005873279","https://openalex.org/W2006404679","https://openalex.org/W2015256273","https://openalex.org/W2023299380","https://openalex.org/W2024914463","https://openalex.org/W2025407135","https://openalex.org/W2027584005","https://openalex.org/W2034155940","https://openalex.org/W2034711041","https://openalex.org/W2037690395","https://openalex.org/W2038053930","https://openalex.org/W2044758536","https://openalex.org/W2051632385","https://openalex.org/W2052822938","https://openalex.org/W2062950667","https://openalex.org/W2063727779","https://openalex.org/W2066210260","https://openalex.org/W2066462730","https://openalex.org/W2068457689","https://openalex.org/W2069300761","https://openalex.org/W2077187450","https://openalex.org/W2078220348","https://openalex.org/W2079549821","https://openalex.org/W2083469471","https://openalex.org/W2086727636","https://openalex.org/W2097166325","https://openalex.org/W2103953153","https://openalex.org/W2111706174","https://openalex.org/W2114240222","https://openalex.org/W2116636571","https://openalex.org/W2124729849","https://openalex.org/W2124798629","https://openalex.org/W2128057448","https://openalex.org/W2133639043","https://openalex.org/W2156876717","https://openalex.org/W2163672025","https://openalex.org/W2163693197","https://openalex.org/W2166822586","https://openalex.org/W2171496589","https://openalex.org/W2171691057","https://openalex.org/W2742270218","https://openalex.org/W2787524315","https://openalex.org/W2912293148","https://openalex.org/W2912745181","https://openalex.org/W2914260883","https://openalex.org/W3146075203","https://openalex.org/W6894350138"],"related_works":["https://openalex.org/W2748952813","https://openalex.org/W2390279801","https://openalex.org/W2358668433","https://openalex.org/W2376932109","https://openalex.org/W2001405890","https://openalex.org/W2382290278","https://openalex.org/W2478288626","https://openalex.org/W4391913857","https://openalex.org/W2350741829","https://openalex.org/W2530322880"],"abstract_inverted_index":{"We":[0,96],"present":[1],"an":[2,181],"approach":[3,102,134],"to":[4,30,88],"enriching":[5],"the":[6,31,67,92,98,118,126,133],"type":[7,19,44,64,141],"system":[8,69,142],"of":[9,15,40,100,117,128,178],"ML":[10,151],"with":[11,156],"a":[12,25,79,144,175],"restricted":[13],"form":[14],"dependent":[16,59,154],"types,":[17],"where":[18,186],"index":[20],"objects":[21],"are":[22,188],"drawn":[23],"from":[24,57],"constraint":[26,89,93,183],"domain":[27,94,184],"C,":[28,185],"leading":[29],"DML(C)":[32,84,109,179],"language":[33,123,148],"schema.":[34],"This":[35],"allows":[36],"specification":[37],"and":[38,50,106,168,192],"inference":[39,65],"significantly":[41],"more":[42],"precise":[43],"information,":[45],"facilitating":[46],"program":[47,82],"error":[48],"detection":[49],"compiler":[51],"optimization.":[52],"A":[53],"major":[54],"complication":[55],"resulting":[56],"introducing":[58],"types":[60,155],"is":[61,70,110],"that":[62,77,108],"pure":[63],"for":[66,143,180],"enriched":[68],"no":[71,139],"longer":[72],"possible,":[73],"but":[74],"we":[75,172],"show":[76],"type-checking":[78,129],"sufficiently":[80],"annotated":[81],"in":[83,91,121],"can":[85],"be":[86],"reduced":[87],"satisfaction":[90],"C.":[95],"exhibit":[97],"unobtrusiveness":[99],"our":[101,122,137],"through":[103],"practical":[104],"examples":[105],"prove":[107],"conservative":[111],"over":[112],"ML.":[113],"The":[114],"main":[115],"contribution":[116],"paper":[119],"lies":[120],"design,":[124],"including":[125,158],"formulation":[127],"rules":[130],"which":[131],"makes":[132],"practical.":[135],"To":[136],"knowledge,":[138],"previous":[140],"general":[145,163],"purpose":[146],"programming":[147],"such":[149],"as":[150],"has":[152],"combined":[153],"features":[157],"datatype":[159],"declarations,":[160],"higher-order":[161],"functions,":[162],"recursions,":[164],"let-polymorphism,":[165],"mutable":[166],"references,":[167],"exceptions.":[169],"In":[170],"addition,":[171],"have":[173],"finished":[174],"prototype":[176],"implementation":[177],"integer":[182],"constraints":[187],"linear":[189],"inequalities":[190],"(Xi":[191],"Pfenning":[193],"1998).":[194]},"counts_by_year":[{"year":2026,"cited_by_count":5},{"year":2025,"cited_by_count":5},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":8},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":10},{"year":2020,"cited_by_count":12},{"year":2019,"cited_by_count":18},{"year":2018,"cited_by_count":23},{"year":2017,"cited_by_count":21},{"year":2016,"cited_by_count":25},{"year":2015,"cited_by_count":37},{"year":2014,"cited_by_count":23},{"year":2013,"cited_by_count":18},{"year":2012,"cited_by_count":24}],"updated_date":"2026-10-16T09:59:22.235173","created_date":"2025-10-10T00:00:00"}
