{"id":"https://openalex.org/W2014995396","doi":"https://doi.org/10.1145/2633628.2633634","title":"True sums of products","display_name":"True sums of products","publication_year":2014,"publication_date":"2014-08-26","ids":{"openalex":"https://openalex.org/W2014995396","doi":"https://doi.org/10.1145/2633628.2633634","mag":"2014995396"},"language":"en","primary_location":{"id":"doi:10.1145/2633628.2633634","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2633628.2633634","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 10th ACM SIGPLAN workshop on Generic programming","raw_type":"proceedings-article"},"type":"article","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/A5090965060","display_name":"Edsko de Vries","orcid":"https://orcid.org/0000-0003-3979-3397"},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Edsko de Vries","raw_affiliation_strings":["Well-Typed LLP, Dublin, Ireland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Well-Typed LLP, Dublin, Ireland","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027537142","display_name":"Andres L\u00f6h","orcid":"https://orcid.org/0000-0002-7492-7293"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Andres L\u00f6h","raw_affiliation_strings":["Well-Typed LLP, Regensburg, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Well-Typed LLP, Regensburg, Germany","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5090965060"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.9618,"has_fulltext":false,"cited_by_count":27,"citation_normalized_percentile":{"value":0.92048468,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"83","last_page":"94"},"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.9948999881744385,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9919999837875366,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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.8585054874420166},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7723351716995239},{"id":"https://openalex.org/keywords/tree-traversal","display_name":"Tree traversal","score":0.7620086669921875},{"id":"https://openalex.org/keywords/combinatory-logic","display_name":"Combinatory logic","score":0.7325241565704346},{"id":"https://openalex.org/keywords/representation","display_name":"Representation (politics)","score":0.6427198648452759},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6056963205337524},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5175075531005859},{"id":"https://openalex.org/keywords/component","display_name":"Component (thermodynamics)","score":0.49331560730934143},{"id":"https://openalex.org/keywords/product","display_name":"Product (mathematics)","score":0.4828117787837982},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.4800178110599518},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.43785378336906433},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.42667779326438904},{"id":"https://openalex.org/keywords/binary-number","display_name":"Binary number","score":0.4192972779273987},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.33557432889938354},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.20967569947242737},{"id":"https://openalex.org/keywords/arithmetic","display_name":"Arithmetic","score":0.1856236457824707}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.8585054874420166},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7723351716995239},{"id":"https://openalex.org/C140745168","wikidata":"https://www.wikidata.org/wiki/Q1210082","display_name":"Tree traversal","level":2,"score":0.7620086669921875},{"id":"https://openalex.org/C79678938","wikidata":"https://www.wikidata.org/wiki/Q1481571","display_name":"Combinatory logic","level":2,"score":0.7325241565704346},{"id":"https://openalex.org/C2776359362","wikidata":"https://www.wikidata.org/wiki/Q2145286","display_name":"Representation (politics)","level":3,"score":0.6427198648452759},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6056963205337524},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5175075531005859},{"id":"https://openalex.org/C168167062","wikidata":"https://www.wikidata.org/wiki/Q1117970","display_name":"Component (thermodynamics)","level":2,"score":0.49331560730934143},{"id":"https://openalex.org/C90673727","wikidata":"https://www.wikidata.org/wiki/Q901718","display_name":"Product (mathematics)","level":2,"score":0.4828117787837982},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.4800178110599518},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.43785378336906433},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.42667779326438904},{"id":"https://openalex.org/C48372109","wikidata":"https://www.wikidata.org/wiki/Q3913","display_name":"Binary number","level":2,"score":0.4192972779273987},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.33557432889938354},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.20967569947242737},{"id":"https://openalex.org/C94375191","wikidata":"https://www.wikidata.org/wiki/Q11205","display_name":"Arithmetic","level":1,"score":0.1856236457824707},{"id":"https://openalex.org/C94625758","wikidata":"https://www.wikidata.org/wiki/Q7163","display_name":"Politics","level":2,"score":0.0},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"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/C97355855","wikidata":"https://www.wikidata.org/wiki/Q11473","display_name":"Thermodynamics","level":1,"score":0.0},{"id":"https://openalex.org/C78458016","wikidata":"https://www.wikidata.org/wiki/Q840400","display_name":"Evolutionary biology","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/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2633628.2633634","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2633628.2633634","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 10th ACM SIGPLAN workshop on Generic programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Peace, Justice and strong institutions","score":0.4099999964237213,"id":"https://metadata.un.org/sdg/16"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":34,"referenced_works":["https://openalex.org/W72661297","https://openalex.org/W569543113","https://openalex.org/W1530957372","https://openalex.org/W1614164110","https://openalex.org/W1688372159","https://openalex.org/W1751016442","https://openalex.org/W1947395352","https://openalex.org/W1979982425","https://openalex.org/W2000616678","https://openalex.org/W2005130481","https://openalex.org/W2007492338","https://openalex.org/W2009775190","https://openalex.org/W2012619465","https://openalex.org/W2012827905","https://openalex.org/W2019388039","https://openalex.org/W2031442766","https://openalex.org/W2041037071","https://openalex.org/W2058137890","https://openalex.org/W2093896470","https://openalex.org/W2101407609","https://openalex.org/W2112474400","https://openalex.org/W2115128073","https://openalex.org/W2115396845","https://openalex.org/W2119717320","https://openalex.org/W2125690388","https://openalex.org/W2131828631","https://openalex.org/W2137236134","https://openalex.org/W2150429177","https://openalex.org/W2155863409","https://openalex.org/W2156285626","https://openalex.org/W2167268698","https://openalex.org/W4244488020","https://openalex.org/W4285719527","https://openalex.org/W6677359417"],"related_works":["https://openalex.org/W2162766176","https://openalex.org/W1564538666","https://openalex.org/W2526970984","https://openalex.org/W2951199257","https://openalex.org/W4302391323","https://openalex.org/W1528956417","https://openalex.org/W1599215552","https://openalex.org/W2521829344","https://openalex.org/W1734457603","https://openalex.org/W2155480936"],"abstract_inverted_index":{"We":[0],"introduce":[1],"the":[2,14,34,51,79,90,105,117],"sum-of-products":[3],"(SOP)":[4],"view":[5,107],"for":[6,78],"datatype-generic":[7],"programming":[8],"(in":[9],"Haskell).":[10],"While":[11],"many":[12],"of":[13,27,36,50,75,81,92,104],"libraries":[15],"that":[16,109],"are":[17],"commonly":[18],"in":[19,66,87,95],"use":[20],"today":[21],"represent":[22],"datatypes":[23,37,76],"as":[24],"arbitrary":[25],"combinations":[26],"binary":[28],"sums":[29],"and":[30,98,121],"products,":[31],"SOP":[32,106],"reflects":[33],"structure":[35,74],"more":[38],"faithfully:":[39],"each":[40,48],"datatype":[41],"is":[42,53,108],"a":[43,54,96],"single":[44,55],"n-ary":[45,56],"sum,":[46],"where":[47],"component":[49],"sum":[52],"product.":[57],"This":[58],"representation":[59,120],"turns":[60],"out":[61],"to":[62,112],"be":[63],"expressible":[64],"accurately":[65],"GHC":[67],"with":[68],"today's":[69],"extensions.":[70],"The":[71],"resulting":[72],"list-like":[73],"allows":[77,111],"definition":[80,91],"powerful":[82],"high-level":[83],"traversal":[84],"combinators,":[85],"which":[86],"turn":[88],"encourage":[89],"generic":[93],"functions":[94],"compositional":[97],"concise":[99],"style.":[100],"A":[101],"major":[102],"plus":[103],"it":[110],"separate":[113],"function-specific":[114],"metadata":[115],"from":[116],"main":[118],"structural":[119],"recombining":[122],"this":[123],"information":[124],"later.":[125]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":4},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":8},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":1}],"updated_date":"2026-05-04T08:30:34.212998","created_date":"2025-10-10T00:00:00"}
