{"id":"https://openalex.org/W2856615635","doi":"https://doi.org/10.1145/3276502","title":"Gradual liquid type inference","display_name":"Gradual liquid type inference","publication_year":2018,"publication_date":"2018-10-24","ids":{"openalex":"https://openalex.org/W2856615635","doi":"https://doi.org/10.1145/3276502","mag":"2856615635"},"language":"en","primary_location":{"id":"doi:10.1145/3276502","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276502","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276502","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":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3276502","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Niki Vazou","orcid":null},"institutions":[{"id":"https://openalex.org/I4210162154","display_name":"IMDEA Software","ror":"https://ror.org/04xvfkh51","country_code":"ES","type":"facility","lineage":["https://openalex.org/I105140100","https://openalex.org/I4210162154"]}],"countries":["ES"],"is_corresponding":true,"raw_author_name":"Niki Vazou","raw_affiliation_strings":["IMDEA Software Institute, Spain"],"affiliations":[{"raw_affiliation_string":"IMDEA Software Institute, Spain","institution_ids":["https://openalex.org/I4210162154"]}]},{"author_position":"middle","author":{"id":null,"display_name":"\u00c9ric Tanter","orcid":null},"institutions":[{"id":"https://openalex.org/I69737025","display_name":"University of Chile","ror":"https://ror.org/047gc3g35","country_code":"CL","type":"education","lineage":["https://openalex.org/I69737025"]}],"countries":["CL"],"is_corresponding":false,"raw_author_name":"\u00c9ric Tanter","raw_affiliation_strings":["University of Chile, Chile"],"affiliations":[{"raw_affiliation_string":"University of Chile, Chile","institution_ids":["https://openalex.org/I69737025"]}]},{"author_position":"last","author":{"id":null,"display_name":"David Van Horn","orcid":null},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David Van Horn","raw_affiliation_strings":["University of Maryland, USA"],"affiliations":[{"raw_affiliation_string":"University of Maryland, USA","institution_ids":["https://openalex.org/I66946132"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I4210162154"],"apc_list":null,"apc_paid":null,"fwci":0.3385,"has_fulltext":true,"cited_by_count":6,"citation_normalized_percentile":{"value":0.68302397,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":"2","issue":"OOPSLA","first_page":"1","last_page":"25"},"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.8402000069618225,"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.8402000069618225,"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.07069999724626541,"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/T11986","display_name":"Scientific Computing and Data Management","score":0.022199999541044235,"subfield":{"id":"https://openalex.org/subfields/1802","display_name":"Information Systems and Management"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.853600025177002},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.7846999764442444},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.6175000071525574},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.5932000279426575},{"id":"https://openalex.org/keywords/fiducial-inference","display_name":"Fiducial inference","score":0.5070000290870667},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4867999851703644},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.45969998836517334},{"id":"https://openalex.org/keywords/frequentist-inference","display_name":"Frequentist inference","score":0.4309999942779541},{"id":"https://openalex.org/keywords/decidability","display_name":"Decidability","score":0.4020000100135803}],"concepts":[{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.853600025177002},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.7846999764442444},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6929000020027161},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.6175000071525574},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.5932000279426575},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5813999772071838},{"id":"https://openalex.org/C95167961","wikidata":"https://www.wikidata.org/wiki/Q4483495","display_name":"Fiducial inference","level":5,"score":0.5070000290870667},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4867999851703644},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.45969998836517334},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4537000060081482},{"id":"https://openalex.org/C162376815","wikidata":"https://www.wikidata.org/wiki/Q2158281","display_name":"Frequentist inference","level":4,"score":0.4309999942779541},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.42989999055862427},{"id":"https://openalex.org/C153269930","wikidata":"https://www.wikidata.org/wiki/Q430001","display_name":"Decidability","level":2,"score":0.4020000100135803},{"id":"https://openalex.org/C186108316","wikidata":"https://www.wikidata.org/wiki/Q352530","display_name":"Adaptive neuro fuzzy inference system","level":4,"score":0.3912000060081482},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.3635999858379364},{"id":"https://openalex.org/C98184364","wikidata":"https://www.wikidata.org/wiki/Q1780131","display_name":"Argument (complex analysis)","level":2,"score":0.36250001192092896},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.3598000109195709},{"id":"https://openalex.org/C83852419","wikidata":"https://www.wikidata.org/wiki/Q2713292","display_name":"Subtyping","level":2,"score":0.35659998655319214},{"id":"https://openalex.org/C2780615836","wikidata":"https://www.wikidata.org/wiki/Q2471869","display_name":"USable","level":2,"score":0.3481999933719635},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.34630000591278076},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.30309998989105225},{"id":"https://openalex.org/C170130773","wikidata":"https://www.wikidata.org/wiki/Q216378","display_name":"Usability","level":2,"score":0.29829999804496765},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.2906000018119812},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2881999909877777},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.28780001401901245},{"id":"https://openalex.org/C113174947","wikidata":"https://www.wikidata.org/wiki/Q2859736","display_name":"Tree (set theory)","level":2,"score":0.257999986410141},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.2522999942302704}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3276502","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276502","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276502","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:arXiv.org:1807.02132","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1807.02132","pdf_url":"https://arxiv.org/pdf/1807.02132","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":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:HAL:hal-01949207v1","is_oa":false,"landing_page_url":"https://hal.science/hal-01949207","pdf_url":null,"source":{"id":"https://openalex.org/S4406922466","display_name":"SPIRE - Sciences Po Institutional REpository","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Proceedings of the ACM on Programming Languages, 2018, 2 (OOPSLA), pp.1-25. &#x27E8;10.1145/3276502&#x27E9;","raw_type":"Journal articles"}],"best_oa_location":{"id":"doi:10.1145/3276502","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276502","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276502","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":[],"awards":[{"id":"https://openalex.org/G6197322370","display_name":null,"funder_award_id":"FONDECYT","funder_id":"https://openalex.org/F4320334812","funder_display_name":"Comisi\u00f3n Nacional de Investigaci\u00f3n Cient\u00edfica y Tecnol\u00f3gica"}],"funders":[{"id":"https://openalex.org/F4320334812","display_name":"Comisi\u00f3n Nacional de Investigaci\u00f3n Cient\u00edfica y Tecnol\u00f3gica","ror":"https://ror.org/02ap3w078"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2856615635.pdf","grobid_xml":"https://content.openalex.org/works/W2856615635.grobid-xml"},"referenced_works_count":29,"referenced_works":["https://openalex.org/W1970075481","https://openalex.org/W2027189949","https://openalex.org/W2029079408","https://openalex.org/W2037037228","https://openalex.org/W2045313089","https://openalex.org/W2045900383","https://openalex.org/W2052973434","https://openalex.org/W2063019130","https://openalex.org/W2070088936","https://openalex.org/W2081841061","https://openalex.org/W2101085206","https://openalex.org/W2106799975","https://openalex.org/W2114692640","https://openalex.org/W2134093956","https://openalex.org/W2139143398","https://openalex.org/W2144160229","https://openalex.org/W2153036969","https://openalex.org/W2267469130","https://openalex.org/W2295283668","https://openalex.org/W2295923951","https://openalex.org/W2561537655","https://openalex.org/W2767258384","https://openalex.org/W2767680799","https://openalex.org/W2776911292","https://openalex.org/W2791679071","https://openalex.org/W2964296984","https://openalex.org/W2996075572","https://openalex.org/W4230662430","https://openalex.org/W4244807040"],"related_works":[],"abstract_inverted_index":{"Refinement":[0],"types":[1,9,257],"allow":[2],"for":[3,41,127,192,245,272],"lightweight":[4],"program":[5,184],"verification":[6],"by":[7],"enriching":[8],"with":[10],"logical":[11],"predicates.":[12],"Liquid":[13,230,251,291],"typing":[14],"provides":[15],"a":[16,156,183,277],"decidable":[17],"refinement":[18,91,96],"inference":[19,31,42,56,82,88,115,120,165,221,249],"mechanism":[20],"that":[21,78,102,117,180,207,253],"is":[22,32,185,190],"convenient":[23],"but":[24],"subject":[25],"to":[26,51,72,112,209],"two":[27],"major":[28],"issues:":[29],"(1)":[30],"global":[33,119],"and":[34,47,54,89,222,258,275],"requires":[35],"top-level":[36],"annotations,":[37],"making":[38],"it":[39],"unsuitable":[40],"of":[43,69,86,138,147,159,172,217,229,236,262,270,283],"modular":[44,124,256],"code":[45,71],"components":[46],"prohibiting":[48],"its":[49,224],"applicability":[50],"library":[52,128],"code,":[53],"(2)":[55],"failure":[57],"results":[58],"in":[59,109,144,161,226,250],"obscure":[60],"error":[61,196,273],"messages.":[62],"These":[63],"difficulties":[64],"seriously":[65],"hamper":[66],"the":[67,118,136,145,169,177,199,204,215,227,234,268,281],"migration":[68,282],"existing":[70],"use":[73,146,269],"refinements.":[74,149,264],"This":[75,188],"paper":[76],"shows":[77],"gradual":[79,90,132,162,218,246,263],"liquid":[80,87,114,151,163,194,219,247],"type":[81,164,195,211,220,248],"\u2013a":[83],"novel":[84],"combination":[85],"types\u2013addresses":[92],"both":[93,254],"issues.":[94],"Gradual":[95],"types,":[97],"which":[98],"support":[99],"imprecise":[100,174],"predicates":[101],"are":[103,153],"optimistically":[104],"interpreted,":[105],"can":[106,167],"be":[107],"used":[108],"argument":[110],"positions":[111],"constrain":[113],"so":[116],"process":[121],"effectively":[122],"infers":[123,255],"specifications":[125],"usable":[126],"components.":[129],"Dually,":[130],"when":[131],"refinements":[133,152,179],"appear":[134],"as":[135],"result":[137],"inference,":[139],"they":[140],"signal":[141],"an":[142,241],"inconsistency":[143],"static":[148,178,193,210],"Because":[150],"drawn":[154],"from":[155],"finite":[157],"set":[158],"predicates,":[160],"we":[166,239],"enumerate":[168],"textitsafe":[170],"concretizations":[171,201,261],"each":[173],"refinement,":[175],"i.e.,":[176],"justify":[181],"why":[182],"gradually":[186],"well-typed.":[187],"enumeration":[189],"useful":[191],"explanation,":[197],"since":[198],"safe":[200,260],"exhibit":[202],"all":[203],"potential":[205],"inconsistencies":[206],"lead":[208],"errors.":[212],"We":[213,265],"develop":[214,240],"theory":[216],"explore":[223],"pragmatics":[225],"setting":[228],"Haskell.":[231,292],"To":[232],"demonstrate":[233],"utility":[235],"our":[237],"approach,":[238],"interactive":[242],"tool,":[243],"GuiLT,":[244],"Haskell":[252,286],"explores":[259],"report":[266],"on":[267,280],"GuiLT":[271],"reporting":[274],"discuss":[276],"case":[278],"study":[279],"three":[284],"commonly-used":[285],"list":[287],"manipulation":[288],"libraries":[289],"into":[290]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":2}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2018-07-19T00:00:00"}
