{"id":"https://openalex.org/W2106852828","doi":"https://doi.org/10.1017/s0956796801004233","title":"Type-checking multi-parameter type classes","display_name":"Type-checking multi-parameter type classes","publication_year":2002,"publication_date":"2002-03-01","ids":{"openalex":"https://openalex.org/W2106852828","doi":"https://doi.org/10.1017/s0956796801004233","mag":"2106852828"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796801004233","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796801004233","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/EABE479DF71BA3B31843E1518E5FA265/S0956796801004233a.pdf/div-class-title-type-checking-multi-parameter-type-classes-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/EABE479DF71BA3B31843E1518E5FA265/S0956796801004233a.pdf/div-class-title-type-checking-multi-parameter-type-classes-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5084881756","display_name":"Dominic Duggan","orcid":null},"institutions":[{"id":"https://openalex.org/I108468826","display_name":"Stevens Institute of Technology","ror":"https://ror.org/02z43xh36","country_code":"US","type":"education","lineage":["https://openalex.org/I108468826"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"DOMINIC DUGGAN","raw_affiliation_strings":["Department of Computer Science, Stevens Institute of Technology, Castle Point on the Hudson, Hoboken, NJ 07030, USA","Department of Computer Science, Stevens Institute of Technology, Castle Point on the Hudson, Hoboken, NJ 07030, USA#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, Stevens Institute of Technology, Castle Point on the Hudson, Hoboken, NJ 07030, USA","institution_ids":["https://openalex.org/I108468826"]},{"raw_affiliation_string":"Department of Computer Science, Stevens Institute of Technology, Castle Point on the Hudson, Hoboken, NJ 07030, USA#TAB#","institution_ids":["https://openalex.org/I108468826"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5087189397","display_name":"John Ophel","orcid":null},"institutions":[{"id":"https://openalex.org/I196829312","display_name":"La Trobe University","ror":"https://ror.org/01rxfrp27","country_code":"AU","type":"education","lineage":["https://openalex.org/I196829312"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"JOHN OPHEL","raw_affiliation_strings":["Department of Computer Science and Computer Engineering, La Trobe University, Bundoora, Victoria 3083, Australia","Department of Computer Science and Computer Engineering, La Trobe University, Bundoora, Victoria 3083, Australia#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science and Computer Engineering, La Trobe University, Bundoora, Victoria 3083, Australia","institution_ids":["https://openalex.org/I196829312"]},{"raw_affiliation_string":"Department of Computer Science and Computer Engineering, La Trobe University, Bundoora, Victoria 3083, Australia#TAB#","institution_ids":["https://openalex.org/I196829312"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5084881756"],"corresponding_institution_ids":["https://openalex.org/I108468826"],"apc_list":null,"apc_paid":null,"fwci":1.7052,"has_fulltext":true,"cited_by_count":18,"citation_normalized_percentile":{"value":0.86380582,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":"12","issue":"2","first_page":"133","last_page":"158"},"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.998199999332428,"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.998199999332428,"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.987500011920929,"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/T10181","display_name":"Natural Language Processing Techniques","score":0.9696999788284302,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7964098453521729},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.6187918782234192},{"id":"https://openalex.org/keywords/ambiguity","display_name":"Ambiguity","score":0.598170280456543},{"id":"https://openalex.org/keywords/resolution","display_name":"Resolution (logic)","score":0.572735607624054},{"id":"https://openalex.org/keywords/generalization","display_name":"Generalization","score":0.5064891576766968},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.48815828561782837},{"id":"https://openalex.org/keywords/undecidable-problem","display_name":"Undecidable problem","score":0.48001614212989807},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.46458178758621216},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4571745991706848},{"id":"https://openalex.org/keywords/satisfiability","display_name":"Satisfiability","score":0.44560492038726807},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.43868139386177063},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.437141478061676},{"id":"https://openalex.org/keywords/parametric-statistics","display_name":"Parametric statistics","score":0.43328607082366943},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.24924570322036743},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.23112016916275024},{"id":"https://openalex.org/keywords/decidability","display_name":"Decidability","score":0.22140246629714966},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.18201681971549988},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.16854143142700195}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7964098453521729},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.6187918782234192},{"id":"https://openalex.org/C2780522230","wikidata":"https://www.wikidata.org/wiki/Q1140419","display_name":"Ambiguity","level":2,"score":0.598170280456543},{"id":"https://openalex.org/C138268822","wikidata":"https://www.wikidata.org/wiki/Q1051925","display_name":"Resolution (logic)","level":2,"score":0.572735607624054},{"id":"https://openalex.org/C177148314","wikidata":"https://www.wikidata.org/wiki/Q170084","display_name":"Generalization","level":2,"score":0.5064891576766968},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.48815828561782837},{"id":"https://openalex.org/C192034797","wikidata":"https://www.wikidata.org/wiki/Q3502995","display_name":"Undecidable problem","level":3,"score":0.48001614212989807},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.46458178758621216},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4571745991706848},{"id":"https://openalex.org/C168773769","wikidata":"https://www.wikidata.org/wiki/Q1350299","display_name":"Satisfiability","level":2,"score":0.44560492038726807},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.43868139386177063},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.437141478061676},{"id":"https://openalex.org/C117251300","wikidata":"https://www.wikidata.org/wiki/Q1849855","display_name":"Parametric statistics","level":2,"score":0.43328607082366943},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.24924570322036743},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.23112016916275024},{"id":"https://openalex.org/C153269930","wikidata":"https://www.wikidata.org/wiki/Q430001","display_name":"Decidability","level":2,"score":0.22140246629714966},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.18201681971549988},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.16854143142700195},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","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},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s0956796801004233","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796801004233","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/EABE479DF71BA3B31843E1518E5FA265/S0956796801004233a.pdf/div-class-title-type-checking-multi-parameter-type-classes-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"}],"best_oa_location":{"id":"doi:10.1017/s0956796801004233","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796801004233","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/EABE479DF71BA3B31843E1518E5FA265/S0956796801004233a.pdf/div-class-title-type-checking-multi-parameter-type-classes-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/W2106852828.pdf","grobid_xml":"https://content.openalex.org/works/W2106852828.grobid-xml"},"referenced_works_count":20,"referenced_works":["https://openalex.org/W116104591","https://openalex.org/W1551706119","https://openalex.org/W1554432400","https://openalex.org/W1594279870","https://openalex.org/W1783314273","https://openalex.org/W2009825892","https://openalex.org/W2032249605","https://openalex.org/W2035939918","https://openalex.org/W2039211229","https://openalex.org/W2047428963","https://openalex.org/W2059895047","https://openalex.org/W2062090834","https://openalex.org/W2095136535","https://openalex.org/W2120348241","https://openalex.org/W2141576692","https://openalex.org/W2147130609","https://openalex.org/W2156926516","https://openalex.org/W2293033370","https://openalex.org/W2515102472","https://openalex.org/W4230198741"],"related_works":["https://openalex.org/W2577879125","https://openalex.org/W4281769808","https://openalex.org/W1496535287","https://openalex.org/W2114705282","https://openalex.org/W3037249291","https://openalex.org/W1766132142","https://openalex.org/W1859659230","https://openalex.org/W2148572045","https://openalex.org/W3209871473","https://openalex.org/W1605723391"],"abstract_inverted_index":{"Type":[0],"classes":[1,17,26,36],"are":[2,126],"a":[3],"novel":[4],"combination":[5],"of":[6,109],"parametric":[7],"polymorphism":[8],"and":[9,78],"constrained":[10],"types.":[11],"Although":[12],"most":[13],"implementations":[14],"restrict":[15],"type":[16,25,35,123,149],"to":[18,23,68,93,119],"be":[19],"single-parameter,":[20],"the":[21,38,106,122],"generalization":[22,108],"multi-parameter":[24,34,148],"has":[27],"gained":[28],"increasing":[29],"attention.":[30],"A":[31,55],"problem":[32],"with":[33,83,97,105,133,147],"is":[37,63,75,90,102,117,130],"increased":[39],"possibilities":[40],"they":[41],"introduce":[42],"for":[43],"ambiguity":[44,145],"in":[45,51,103],"inferred":[46],"types,":[47],"impacting":[48],"their":[49],"usefulness":[50],"many":[52],"practical":[53],"situations.":[54],"new":[56],"type-checking":[57,96],"strategy,":[58],"domain-driven":[59],"unifying":[60,73,98,115],"resolution":[61,74,99,112,116],",":[62],"identified":[64],"as":[65],"an":[66],"approach":[67],"solve":[69],"these":[70],"problems.":[71],"Domain-driven":[72,114],"simple,":[76],"efficient,":[77],"practically":[79],"useful.":[80],"However,":[81],"even":[82,132],"severe":[84,134],"restrictions":[85,135],"on":[86,136,144],"instance":[87,137],"definitions,":[88],"it":[89],"not":[91],"possible":[92],"guarantee":[94],"that":[95],"terminates.":[100],"This":[101],"contrast":[104],"naive":[107],"single":[110],"parameter":[111],"strategies.":[113],"guaranteed":[118],"terminate":[120],"if":[121],"class":[124],"constraints":[125],"satisfiable;":[127],"however":[128],"satisfiability":[129],"undecidable":[131],"definitions.":[138],"These":[139],"results":[140],"shed":[141],"some":[142],"light":[143],"problems":[146],"classes.":[150]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2020,"cited_by_count":2}],"updated_date":"2026-04-23T06:14:38.165362","created_date":"2025-10-10T00:00:00"}
