{"id":"https://openalex.org/W4242481590","doi":"https://doi.org/10.1145/1133981.1134014","title":"Algorithm specialization in generic programming","display_name":"Algorithm specialization in generic programming","publication_year":2006,"publication_date":"2006-06-11","ids":{"openalex":"https://openalex.org/W4242481590","doi":"https://doi.org/10.1145/1133981.1134014"},"language":"en","primary_location":{"id":"doi:10.1145/1133981.1134014","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1133981.1134014","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5047665290","display_name":"Jaakko J\u00e4rvi","orcid":"https://orcid.org/0000-0002-3418-7366"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Jaakko J\u00e4rvi","raw_affiliation_strings":["Texas A&amp;M University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Texas A&amp;M University","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5076264389","display_name":"Douglas Gregor","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"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Douglas Gregor","raw_affiliation_strings":["Indiana University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Indiana University","institution_ids":["https://openalex.org/I592451"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5013769127","display_name":"Jeremiah Willcock","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"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jeremiah Willcock","raw_affiliation_strings":["Indiana University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Indiana University","institution_ids":["https://openalex.org/I592451"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5074260102","display_name":"Andrew Lumsdaine","orcid":"https://orcid.org/0000-0002-9153-6622"},"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"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Andrew Lumsdaine","raw_affiliation_strings":["Indiana University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Indiana University","institution_ids":["https://openalex.org/I592451"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5033999458","display_name":"Jeremy G. Siek","orcid":"https://orcid.org/0000-0002-9894-4856"},"institutions":[{"id":"https://openalex.org/I74775410","display_name":"Rice University","ror":"https://ror.org/008zs3103","country_code":"US","type":"education","lineage":["https://openalex.org/I74775410"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jeremy Siek","raw_affiliation_strings":["Rice University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Rice University","institution_ids":["https://openalex.org/I74775410"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":12,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"272","last_page":"282"},"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.9998999834060669,"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.9998999834060669,"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.9972000122070312,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.993399977684021,"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.8131839036941528},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.7674317359924316},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.7212752103805542},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.5921860337257385},{"id":"https://openalex.org/keywords/exploit","display_name":"Exploit","score":0.4974055588245392},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4666011333465576},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.44969871640205383},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.44422993063926697},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.3435477614402771}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8131839036941528},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.7674317359924316},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.7212752103805542},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.5921860337257385},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.4974055588245392},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4666011333465576},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.44969871640205383},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.44422993063926697},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3435477614402771},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1133981.1134014","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1133981.1134014","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","score":0.5799999833106995,"display_name":"Industry, innovation and infrastructure"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":31,"referenced_works":["https://openalex.org/W53500718","https://openalex.org/W220935706","https://openalex.org/W1562955084","https://openalex.org/W1572663059","https://openalex.org/W1586902756","https://openalex.org/W1598339794","https://openalex.org/W1644882639","https://openalex.org/W1829244603","https://openalex.org/W2054373994","https://openalex.org/W2059895047","https://openalex.org/W2068465106","https://openalex.org/W2068606617","https://openalex.org/W2084390603","https://openalex.org/W2107214848","https://openalex.org/W2116616150","https://openalex.org/W2139099489","https://openalex.org/W2144015080","https://openalex.org/W2145945984","https://openalex.org/W2161783170","https://openalex.org/W2168938117","https://openalex.org/W2180690638","https://openalex.org/W2515102472","https://openalex.org/W2914317223","https://openalex.org/W3095522839","https://openalex.org/W4213078871","https://openalex.org/W4231201730","https://openalex.org/W4233287041","https://openalex.org/W4233840497","https://openalex.org/W4246027634","https://openalex.org/W4252649616","https://openalex.org/W6638886220"],"related_works":["https://openalex.org/W1571189856","https://openalex.org/W2150149173","https://openalex.org/W2110317952","https://openalex.org/W3014668873","https://openalex.org/W2886887129","https://openalex.org/W2056626276","https://openalex.org/W1568242184","https://openalex.org/W3129549213","https://openalex.org/W1567814706","https://openalex.org/W2134429143"],"abstract_inverted_index":{"Generic":[0],"programming":[1,123],"has":[2],"recently":[3],"emerged":[4],"as":[5,48,51],"a":[6,23,69],"paradigm":[7],"for":[8,27,121,156],"developing":[9],"highly":[10],"reusable":[11],"software":[12],"libraries,":[13],"most":[14],"notably":[15],"in":[16,124,136,144,167],"C++.":[17],"We":[18],"have":[19,77],"designed":[20],"and":[21,37,98,116,132,138],"implemented":[22],"constrained":[24],"generics":[25],"extension":[26],"C++":[28],"to":[29,38,67,146],"support":[30],"modular":[31,106,133],"type":[32,96,107,134],"checking":[33,135],"of":[34,72,83,86,90,105,118,129,162],"generic":[35,53,74,122],"algorithms":[36,54,75],"address":[39],"other":[40],"issues":[41,128],"associated":[42],"with":[43,57,101,159],"unconstrained":[44],"generics.":[45],"To":[46],"be":[47],"broadly":[49],"applicable":[50],"possible,":[52],"are":[55],"defined":[56],"minimal":[58],"requirements":[59],"on":[60,94],"their":[61],"inputs.":[62,87],"At":[63],"the":[64,102,114,127,140,150,160,164],"same":[65],"time,":[66],"achieve":[68],"high":[70],"degree":[71],"efficiency,":[73],"may":[76],"multiple":[78],"implementations":[79],"that":[80,153],"exploit":[81],"features":[82],"specific":[84],"classes":[85],"This":[88],"process":[89],"algorithm":[91,130],"specialization":[92,131],"relies":[93],"non-local":[95],"information":[97],"conflicts":[99],"directly":[100],"local":[103],"nature":[104],"checking.":[108],"In":[109],"this":[110,168],"paper,":[111],"we":[112,154],"review":[113],"design":[115,142,152,170],"implementation":[117],"our":[119,157],"extensions":[120],"C++,":[125],"describe":[126],"detail,":[137],"discuss":[139],"important":[141],"tradeoffs":[143],"trying":[145],"accomplish":[147],"both.We":[148],"present":[149],"particular":[151],"chose":[155],"implementation,":[158],"goal":[161],"hitting":[163],"sweet":[165],"spot":[166],"interesting":[169],"space.":[171]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2014,"cited_by_count":2}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
