{"id":"https://openalex.org/W2022236731","doi":"https://doi.org/10.1017/s095679681000016x","title":"Generic programming with C++ concepts and Haskell type classes\u2014a comparison","display_name":"Generic programming with C++ concepts and Haskell type classes\u2014a comparison","publication_year":2010,"publication_date":"2010-07-01","ids":{"openalex":"https://openalex.org/W2022236731","doi":"https://doi.org/10.1017/s095679681000016x","mag":"2022236731"},"language":"en","primary_location":{"id":"doi:10.1017/s095679681000016x","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s095679681000016x","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/2BF57A31E8173929FCBEF6E3E9AB76BE/S095679681000016Xa.pdf/div-class-title-generic-programming-with-c-concepts-and-haskell-type-classes-a-comparison-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/2BF57A31E8173929FCBEF6E3E9AB76BE/S095679681000016Xa.pdf/div-class-title-generic-programming-with-c-concepts-and-haskell-type-classes-a-comparison-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5070681215","display_name":"Jean-Philippe Bernardy","orcid":"https://orcid.org/0000-0002-8469-5617"},"institutions":[{"id":"https://openalex.org/I66862912","display_name":"Chalmers University of Technology","ror":"https://ror.org/040wg7k59","country_code":"SE","type":"education","lineage":["https://openalex.org/I66862912"]},{"id":"https://openalex.org/I881427289","display_name":"University of Gothenburg","ror":"https://ror.org/01tm6cn81","country_code":"SE","type":"education","lineage":["https://openalex.org/I881427289"]}],"countries":["SE"],"is_corresponding":true,"raw_author_name":"JEAN-PHILIPPE BERNARDY","raw_affiliation_strings":["Department of Computer Science and Engineering, Chalmers University of Technology and University of Gothenburg, SE-412 96 G\u00f6teborg, Sweden (e-mail:","Department of computer science and engineering, chalmers university of technology and university of gothenburg, se-412 96 g\u00f6teborg, sweden (e-mail: bernardy@chalmers.se, patrikj@chalmers.se)#TAB#"],"affiliations":[{"raw_affiliation_string":"Department of Computer Science and Engineering, Chalmers University of Technology and University of Gothenburg, SE-412 96 G\u00f6teborg, Sweden (e-mail:","institution_ids":["https://openalex.org/I66862912","https://openalex.org/I881427289"]},{"raw_affiliation_string":"Department of computer science and engineering, chalmers university of technology and university of gothenburg, se-412 96 g\u00f6teborg, sweden (e-mail: bernardy@chalmers.se, patrikj@chalmers.se)#TAB#","institution_ids":["https://openalex.org/I66862912"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5032737176","display_name":"Patrik Jansson","orcid":"https://orcid.org/0000-0003-3078-1437"},"institutions":[{"id":"https://openalex.org/I881427289","display_name":"University of Gothenburg","ror":"https://ror.org/01tm6cn81","country_code":"SE","type":"education","lineage":["https://openalex.org/I881427289"]},{"id":"https://openalex.org/I66862912","display_name":"Chalmers University of Technology","ror":"https://ror.org/040wg7k59","country_code":"SE","type":"education","lineage":["https://openalex.org/I66862912"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"PATRIK JANSSON","raw_affiliation_strings":["Department of Computer Science and Engineering, Chalmers University of Technology and University of Gothenburg, SE-412 96 G\u00f6teborg, Sweden (e-mail:","Department of computer science and engineering, chalmers university of technology and university of gothenburg, se-412 96 g\u00f6teborg, sweden (e-mail: bernardy@chalmers.se, patrikj@chalmers.se)#TAB#"],"affiliations":[{"raw_affiliation_string":"Department of Computer Science and Engineering, Chalmers University of Technology and University of Gothenburg, SE-412 96 G\u00f6teborg, Sweden (e-mail:","institution_ids":["https://openalex.org/I66862912","https://openalex.org/I881427289"]},{"raw_affiliation_string":"Department of computer science and engineering, chalmers university of technology and university of gothenburg, se-412 96 g\u00f6teborg, sweden (e-mail: bernardy@chalmers.se, patrikj@chalmers.se)#TAB#","institution_ids":["https://openalex.org/I66862912"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5033575254","display_name":"Marcin Zalewski","orcid":null},"institutions":[{"id":"https://openalex.org/I592451","display_name":"Indiana University","ror":"https://ror.org/01kg8sb98","country_code":"US","type":"education","lineage":["https://openalex.org/I592451"]},{"id":"https://openalex.org/I4210119109","display_name":"Indiana University Bloomington","ror":"https://ror.org/02k40bc56","country_code":"US","type":"education","lineage":["https://openalex.org/I4210119109","https://openalex.org/I592451"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"MARCIN ZALEWSKI","raw_affiliation_strings":["Open Systems Lab, Indiana University, Lindley Hall 215, Bloomington, IN 47405, USA (e-mail:","Open systems lab, indiana university, lindley hall 215, bloomington, in 47405, usa (e-mail: zalewski@osl.iu.edu)#TAB#"],"affiliations":[{"raw_affiliation_string":"Open Systems Lab, Indiana University, Lindley Hall 215, Bloomington, IN 47405, USA (e-mail:","institution_ids":["https://openalex.org/I4210119109"]},{"raw_affiliation_string":"Open systems lab, indiana university, lindley hall 215, bloomington, in 47405, usa (e-mail: zalewski@osl.iu.edu)#TAB#","institution_ids":["https://openalex.org/I592451"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5038706238","display_name":"Sibylle Schupp","orcid":"https://orcid.org/0009-0002-9982-2794"},"institutions":[{"id":"https://openalex.org/I884043246","display_name":"Hamburg University of Technology","ror":"https://ror.org/04bs1pb34","country_code":"DE","type":"education","lineage":["https://openalex.org/I884043246"]},{"id":"https://openalex.org/I159176309","display_name":"Universit\u00e4t Hamburg","ror":"https://ror.org/00g30e956","country_code":"DE","type":"education","lineage":["https://openalex.org/I159176309"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"SIBYLLE SCHUPP","raw_affiliation_strings":["Institute for Software Systems, Hamburg University of Technology, Schwarzenbergstra\u00dfe 95 (E), D-21073 Hamburg, Germany (e-mail:","Institute for software systems, hamburg university of technology, schwarzenbergstra\u00dfe 95 (e), d-21073 hamburg, germany (e-mail: [email\u00a0protected])#TAB#"],"affiliations":[{"raw_affiliation_string":"Institute for Software Systems, Hamburg University of Technology, Schwarzenbergstra\u00dfe 95 (E), D-21073 Hamburg, Germany (e-mail:","institution_ids":["https://openalex.org/I159176309","https://openalex.org/I884043246"]},{"raw_affiliation_string":"Institute for software systems, hamburg university of technology, schwarzenbergstra\u00dfe 95 (e), d-21073 hamburg, germany (e-mail: [email\u00a0protected])#TAB#","institution_ids":["https://openalex.org/I884043246"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5070681215"],"corresponding_institution_ids":["https://openalex.org/I66862912","https://openalex.org/I881427289"],"apc_list":null,"apc_paid":null,"fwci":2.787,"has_fulltext":true,"cited_by_count":9,"citation_normalized_percentile":{"value":0.90920832,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":97},"biblio":{"volume":"20","issue":"3-4","first_page":"271","last_page":"302"},"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/T10260","display_name":"Software Engineering Research","score":0.9896000027656555,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9896000027656555,"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/haskell","display_name":"Haskell","score":0.9819663763046265},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8878528475761414},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7328499555587769},{"id":"https://openalex.org/keywords/taxonomy","display_name":"Taxonomy (biology)","score":0.6116067171096802},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.48863059282302856},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.4330718219280243},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.403245747089386},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.36145853996276855}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9819663763046265},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8878528475761414},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7328499555587769},{"id":"https://openalex.org/C58642233","wikidata":"https://www.wikidata.org/wiki/Q8269924","display_name":"Taxonomy (biology)","level":2,"score":0.6116067171096802},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.48863059282302856},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.4330718219280243},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.403245747089386},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.36145853996276855},{"id":"https://openalex.org/C59822182","wikidata":"https://www.wikidata.org/wiki/Q441","display_name":"Botany","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/s095679681000016x","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s095679681000016x","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/2BF57A31E8173929FCBEF6E3E9AB76BE/S095679681000016Xa.pdf/div-class-title-generic-programming-with-c-concepts-and-haskell-type-classes-a-comparison-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:CiteSeerX.psu:10.1.1.1027.8061","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1027.8061","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://publications.lib.chalmers.se/records/fulltext/local_124669.pdf","raw_type":"text"},{"id":"pmh:oai:publications.lib.chalmers.se:124669","is_oa":false,"landing_page_url":"http://publications.lib.chalmers.se/publication/124669-generic-programming-with-c-concepts-and-haskell-type-classesa-comparison","pdf_url":null,"source":{"id":"https://openalex.org/S4377196470","display_name":"Chalmers Publication Library (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text.Article.Journal.PeerReviewed"},{"id":"pmh:oai:research.chalmers.se:124669","is_oa":false,"landing_page_url":"https://research.chalmers.se/en/publication/124669","pdf_url":null,"source":{"id":"https://openalex.org/S4306402469","display_name":"Chalmers Research (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":{"id":"doi:10.1017/s095679681000016x","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s095679681000016x","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/2BF57A31E8173929FCBEF6E3E9AB76BE/S095679681000016Xa.pdf/div-class-title-generic-programming-with-c-concepts-and-haskell-type-classes-a-comparison-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":[{"score":0.7300000190734863,"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2022236731.pdf","grobid_xml":"https://content.openalex.org/works/W2022236731.grobid-xml"},"referenced_works_count":43,"referenced_works":["https://openalex.org/W9594217","https://openalex.org/W59481368","https://openalex.org/W270888366","https://openalex.org/W291049477","https://openalex.org/W1486064919","https://openalex.org/W1513612082","https://openalex.org/W1551531572","https://openalex.org/W1556536463","https://openalex.org/W1594279870","https://openalex.org/W1598339794","https://openalex.org/W1616197360","https://openalex.org/W1768450951","https://openalex.org/W1964211642","https://openalex.org/W1982230416","https://openalex.org/W1991089831","https://openalex.org/W2009179353","https://openalex.org/W2009775190","https://openalex.org/W2027657506","https://openalex.org/W2047428963","https://openalex.org/W2058137890","https://openalex.org/W2059895047","https://openalex.org/W2068465106","https://openalex.org/W2078944436","https://openalex.org/W2104076942","https://openalex.org/W2107214848","https://openalex.org/W2110317952","https://openalex.org/W2125690388","https://openalex.org/W2133625592","https://openalex.org/W2139099489","https://openalex.org/W2146931255","https://openalex.org/W2160151966","https://openalex.org/W2168374629","https://openalex.org/W2168938117","https://openalex.org/W2171649093","https://openalex.org/W2192871021","https://openalex.org/W2515102472","https://openalex.org/W3113163436","https://openalex.org/W3128981953","https://openalex.org/W4235625820","https://openalex.org/W4246781209","https://openalex.org/W4247799633","https://openalex.org/W4248755866","https://openalex.org/W4251000889"],"related_works":["https://openalex.org/W2132325017","https://openalex.org/W1671914757","https://openalex.org/W1966969028","https://openalex.org/W1564538666","https://openalex.org/W2526970984","https://openalex.org/W1528956417","https://openalex.org/W1599215552","https://openalex.org/W1919687110","https://openalex.org/W2028779182","https://openalex.org/W4242678340"],"abstract_inverted_index":{"Abstract":[0],"Earlier":[1],"studies":[2],"have":[3],"introduced":[4],"a":[5,15,43],"list":[6],"of":[7,28,81,101],"high-level":[8],"evaluation":[9],"criteria":[10,24,41],"to":[11,70],"assess":[12],"how":[13],"well":[14],"language":[16,72,82,97],"supports":[17],"generic":[18,85],"programming.":[19],"Languages":[20],"that":[21,45],"meet":[22],"all":[23],"include":[25],"Haskell":[26,54],"because":[27],"its":[29],"type":[30,51],"classes":[31,52],"and":[32,48,55,59,65,87,99],"C++":[33,58],"with":[34],"the":[35,88,93],"concept":[36],"feature.":[37],"We":[38],"refine":[39],"these":[40],"into":[42],"taxonomy":[44,75],"captures":[46],"commonalities":[47],"differences":[49,62],"between":[50],"in":[53,57],"concepts":[56],"discuss":[60],"which":[61,66],"are":[63,68],"incidental":[64],"ones":[67],"due":[69],"other":[71],"features.":[73],"The":[74],"allows":[76],"for":[77,84,92],"an":[78],"improved":[79],"understanding":[80],"support":[83],"programming,":[86],"comparison":[89],"is":[90],"useful":[91],"ongoing":[94],"discussions":[95],"among":[96],"designers":[98],"users":[100],"both":[102],"languages.":[103]},"counts_by_year":[{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":3}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
