{"id":"https://openalex.org/W2074059134","doi":"https://doi.org/10.1017/s0956796807006569","title":"HM(X) type inference is CLP(X) solving","display_name":"HM(X) type inference is CLP(X) solving","publication_year":2007,"publication_date":"2007-09-13","ids":{"openalex":"https://openalex.org/W2074059134","doi":"https://doi.org/10.1017/s0956796807006569","mag":"2074059134"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796807006569","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796807006569","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/E43F57EC1FF8C202A3F64C55C436930E/S0956796807006569a.pdf/div-class-title-hm-x-type-inference-is-clp-x-solving-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/E43F57EC1FF8C202A3F64C55C436930E/S0956796807006569a.pdf/div-class-title-hm-x-type-inference-is-clp-x-solving-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5035364564","display_name":"Martin Sulzmann","orcid":"https://orcid.org/0000-0002-8165-3403"},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]}],"countries":["SG"],"is_corresponding":true,"raw_author_name":"MARTIN SULZMANN","raw_affiliation_strings":["School of Computing, National University of Singapore, S16 Level 5, 3 Science Drive 2, Singapore 117543, Singapore (e-mail:","School of computing, national university of singapore, s16 level 5, 3 science drive 2, singapore 117543, singapore (e-mail: sulzmann@comp.nus.edu.sg)"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computing, National University of Singapore, S16 Level 5, 3 Science Drive 2, Singapore 117543, Singapore (e-mail:","institution_ids":["https://openalex.org/I165932596"]},{"raw_affiliation_string":"School of computing, national university of singapore, s16 level 5, 3 science drive 2, singapore 117543, singapore (e-mail: sulzmann@comp.nus.edu.sg)","institution_ids":["https://openalex.org/I165932596"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5064839018","display_name":"Peter J. Stuckey","orcid":"https://orcid.org/0000-0003-2186-0459"},"institutions":[{"id":"https://openalex.org/I165779595","display_name":"The University of Melbourne","ror":"https://ror.org/01ej9dk98","country_code":"AU","type":"education","lineage":["https://openalex.org/I165779595"]},{"id":"https://openalex.org/I42894916","display_name":"Data61","ror":"https://ror.org/03q397159","country_code":"AU","type":"other","lineage":["https://openalex.org/I1292875679","https://openalex.org/I2801453606","https://openalex.org/I42894916","https://openalex.org/I4387156119"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"PETER J. STUCKEY","raw_affiliation_strings":["NICTA Victoria Laboratory, Department of Computer Science and Software Engineering, University of Melbourne, Victoria 3010, Australia (e-mail:","Nicta victoria laboratory, department of computer science and software engineering, university of melbourne, victoria 3010, australia (e-mail: [email\u00a0protected])#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"NICTA Victoria Laboratory, Department of Computer Science and Software Engineering, University of Melbourne, Victoria 3010, Australia (e-mail:","institution_ids":["https://openalex.org/I42894916","https://openalex.org/I165779595"]},{"raw_affiliation_string":"Nicta victoria laboratory, department of computer science and software engineering, university of melbourne, victoria 3010, australia (e-mail: [email\u00a0protected])#TAB#","institution_ids":["https://openalex.org/I165779595"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5035364564"],"corresponding_institution_ids":["https://openalex.org/I165932596"],"apc_list":null,"apc_paid":null,"fwci":1.935,"has_fulltext":true,"cited_by_count":22,"citation_normalized_percentile":{"value":0.88203412,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"18","issue":"2","first_page":"251","last_page":"283"},"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.9997000098228455,"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.9997000098228455,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9900000095367432,"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/T11596","display_name":"Constraint Satisfaction and Optimization","score":0.9887999892234802,"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/type-inference","display_name":"Type inference","score":0.8656620979309082},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.8061988353729248},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7445186972618103},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.5501853823661804},{"id":"https://openalex.org/keywords/inference-engine","display_name":"Inference engine","score":0.5363970994949341},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.5015316009521484},{"id":"https://openalex.org/keywords/constraint","display_name":"Constraint (computer-aided design)","score":0.49697569012641907},{"id":"https://openalex.org/keywords/solver","display_name":"Solver","score":0.4834797978401184},{"id":"https://openalex.org/keywords/generalization","display_name":"Generalization","score":0.44422876834869385},{"id":"https://openalex.org/keywords/parameterized-complexity","display_name":"Parameterized complexity","score":0.4263542592525482},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4144176244735718},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4141806662082672},{"id":"https://openalex.org/keywords/rule-of-inference","display_name":"Rule of inference","score":0.41006308794021606},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.40851709246635437},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.23787161707878113},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1730165183544159}],"concepts":[{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.8656620979309082},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.8061988353729248},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7445186972618103},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.5501853823661804},{"id":"https://openalex.org/C46743427","wikidata":"https://www.wikidata.org/wiki/Q1341685","display_name":"Inference engine","level":3,"score":0.5363970994949341},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.5015316009521484},{"id":"https://openalex.org/C2776036281","wikidata":"https://www.wikidata.org/wiki/Q48769818","display_name":"Constraint (computer-aided design)","level":2,"score":0.49697569012641907},{"id":"https://openalex.org/C2778770139","wikidata":"https://www.wikidata.org/wiki/Q1966904","display_name":"Solver","level":2,"score":0.4834797978401184},{"id":"https://openalex.org/C177148314","wikidata":"https://www.wikidata.org/wiki/Q170084","display_name":"Generalization","level":2,"score":0.44422876834869385},{"id":"https://openalex.org/C165464430","wikidata":"https://www.wikidata.org/wiki/Q1570441","display_name":"Parameterized complexity","level":2,"score":0.4263542592525482},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4144176244735718},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4141806662082672},{"id":"https://openalex.org/C3746660","wikidata":"https://www.wikidata.org/wiki/Q1068763","display_name":"Rule of inference","level":2,"score":0.41006308794021606},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.40851709246635437},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.23787161707878113},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1730165183544159},{"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/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","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":4,"locations":[{"id":"doi:10.1017/s0956796807006569","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796807006569","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/E43F57EC1FF8C202A3F64C55C436930E/S0956796807006569a.pdf/div-class-title-hm-x-type-inference-is-clp-x-solving-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},{"id":"pmh:oai:scholarbank.nus.edu.sg:10635/39842","is_oa":false,"landing_page_url":"http://scholarbank.nus.edu.sg/handle/10635/39842","pdf_url":null,"source":{"id":"https://openalex.org/S7407052290","display_name":"National University of Singapore","issn_l":null,"issn":[],"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":"Scopus","raw_type":"Article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.73.6596","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.73.6596","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.mu.oz.au/~pjs/papers/jfp2007.pdf","raw_type":"text"},{"id":"pmh:oai:jupiter.its.unimelb.edu.au:11343/29394","is_oa":false,"landing_page_url":"http://hdl.handle.net/11343/29394","pdf_url":null,"source":{"id":"https://openalex.org/S4377196259","display_name":"Minerva Access (University of Melbourne)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I165779595","host_organization_name":"The University of Melbourne","host_organization_lineage":["https://openalex.org/I165779595"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Journal Article"}],"best_oa_location":{"id":"doi:10.1017/s0956796807006569","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796807006569","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/E43F57EC1FF8C202A3F64C55C436930E/S0956796807006569a.pdf/div-class-title-hm-x-type-inference-is-clp-x-solving-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2074059134.pdf","grobid_xml":"https://content.openalex.org/works/W2074059134.grobid-xml"},"referenced_works_count":48,"referenced_works":["https://openalex.org/W14971117","https://openalex.org/W25491848","https://openalex.org/W152565095","https://openalex.org/W158576709","https://openalex.org/W1480487311","https://openalex.org/W1507881659","https://openalex.org/W1539226363","https://openalex.org/W1553136405","https://openalex.org/W1556536463","https://openalex.org/W1557616038","https://openalex.org/W1576967856","https://openalex.org/W1585600702","https://openalex.org/W1587446521","https://openalex.org/W1594279870","https://openalex.org/W1595479588","https://openalex.org/W1597351747","https://openalex.org/W1602567617","https://openalex.org/W1703087989","https://openalex.org/W1814221162","https://openalex.org/W1829301681","https://openalex.org/W1850217788","https://openalex.org/W1926956344","https://openalex.org/W1964952791","https://openalex.org/W1980574179","https://openalex.org/W1997150177","https://openalex.org/W2029849818","https://openalex.org/W2038037493","https://openalex.org/W2055588750","https://openalex.org/W2059895047","https://openalex.org/W2060688393","https://openalex.org/W2068457689","https://openalex.org/W2081992169","https://openalex.org/W2091033850","https://openalex.org/W2100738443","https://openalex.org/W2102699068","https://openalex.org/W2123396057","https://openalex.org/W2135248810","https://openalex.org/W2143436119","https://openalex.org/W2163976959","https://openalex.org/W2166414999","https://openalex.org/W2166822586","https://openalex.org/W2168280960","https://openalex.org/W2570710533","https://openalex.org/W2912255765","https://openalex.org/W3022720587","https://openalex.org/W4214774274","https://openalex.org/W4285719527","https://openalex.org/W4298231062"],"related_works":["https://openalex.org/W3161265422","https://openalex.org/W2733168542","https://openalex.org/W1601946679","https://openalex.org/W1533278172","https://openalex.org/W1829301681","https://openalex.org/W2149743823","https://openalex.org/W2273703965","https://openalex.org/W2615146541","https://openalex.org/W3109289487","https://openalex.org/W1565523166"],"abstract_inverted_index":{"Abstract":[0],"The":[1,39,93,128],"HM(X)":[2,82],"system":[3,10],"is":[4,19,71,86,97,135,141],"a":[5,52,60,90],"generalization":[6],"of":[7,25,66,112,145],"the":[8,13,26,34,46,81,101,109,146],"Hindley/Milner":[9],"parameterized":[11],"in":[12],"constraint":[14,36],"domain":[15],"X.":[16,38],"Type":[17],"inference":[18,50,69,78,84,96,106,114,131],"performed":[20],"by":[21,33,99,137],"generating":[22],"constraints":[23],"out":[24],"program":[27],"text,":[28],"which":[29],"are":[30],"then":[31],"solved":[32],"domain-specific":[35],"solver":[37,40],"has":[41,117],"to":[42,89,124],"be":[43],"invoked":[44],"at":[45],"latest":[47],"when":[48,121],"type":[49,83,95,113,126],"reaches":[51],"let":[53],"node":[54],"so":[55],"that":[56],"we":[57],"can":[58],"build":[59],"polymorphic":[61],"type.":[62],"A":[63],"typical":[64],"example":[65],"such":[67],"an":[68,77,105],"approach":[70,79,107],"Milner's":[72],"algorithm":[73],"W.":[74],"We":[75],"formalize":[76],"where":[80,133],"problem":[85],"first":[87],"mapped":[88],"CLP(X)":[91,102,129],"program.":[92,103],"actual":[94],"achieved":[98],"executing":[100],"Such":[104],"supports":[108],"uniform":[110],"construction":[111],"algorithms":[115],"and":[116],"important":[118],"practical":[119],"consequences":[120],"it":[122],"comes":[123],"reporting":[125],"errors.":[127],"style":[130],"system,":[132],"X":[134],"defined":[136],"Constraint":[138],"Handling":[139],"Rules,":[140],"implemented":[142],"as":[143],"part":[144],"Chameleon":[147],"system.":[148]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":3},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":1}],"updated_date":"2026-04-23T06:14:38.165362","created_date":"2025-10-10T00:00:00"}
