{"id":"https://openalex.org/W2753416529","doi":"https://doi.org/10.1017/s0956796817000107","title":"Fair enumeration combinators","display_name":"Fair enumeration combinators","publication_year":2017,"publication_date":"2017-01-01","ids":{"openalex":"https://openalex.org/W2753416529","doi":"https://doi.org/10.1017/s0956796817000107","mag":"2753416529"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796817000107","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s0956796817000107","pdf_url":null,"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":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5050680882","display_name":"Max S. New","orcid":"https://orcid.org/0000-0001-8141-195X"},"institutions":[{"id":"https://openalex.org/I12912129","display_name":"Northeastern University","ror":"https://ror.org/04t5xt781","country_code":"US","type":"education","lineage":["https://openalex.org/I12912129"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"MAX S. NEW","raw_affiliation_strings":["Northeastern University (e-mail:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Northeastern University (e-mail:","institution_ids":["https://openalex.org/I12912129"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5042064721","display_name":"Burke Fetscher","orcid":null},"institutions":[{"id":"https://openalex.org/I4210100400","display_name":"Northwestern University","ror":"https://ror.org/00m6w7z96","country_code":"PH","type":"education","lineage":["https://openalex.org/I4210100400"]}],"countries":["PH"],"is_corresponding":false,"raw_author_name":"BURKE FETSCHER","raw_affiliation_strings":["Northwestern University (e-mails:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Northwestern University (e-mails:","institution_ids":["https://openalex.org/I4210100400"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5081388086","display_name":"Robert Bruce Findler","orcid":null},"institutions":[{"id":"https://openalex.org/I4210100400","display_name":"Northwestern University","ror":"https://ror.org/00m6w7z96","country_code":"PH","type":"education","lineage":["https://openalex.org/I4210100400"]}],"countries":["PH"],"is_corresponding":false,"raw_author_name":"ROBERT BRUCE FINDLER","raw_affiliation_strings":["Northwestern University (e-mails:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Northwestern University (e-mails:","institution_ids":["https://openalex.org/I4210100400"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5015730860","display_name":"Jay McCarthy","orcid":"https://orcid.org/0000-0002-2061-7396"},"institutions":[{"id":"https://openalex.org/I133738476","display_name":"University of Massachusetts Lowell","ror":"https://ror.org/03hamhx47","country_code":"US","type":"education","lineage":["https://openalex.org/I133738476"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"JAY MCCARTHY","raw_affiliation_strings":["UMass Lowell (e-mail:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"UMass Lowell (e-mail:","institution_ids":["https://openalex.org/I133738476"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5050680882"],"corresponding_institution_ids":["https://openalex.org/I12912129"],"apc_list":null,"apc_paid":null,"fwci":0.4157,"has_fulltext":false,"cited_by_count":8,"citation_normalized_percentile":{"value":0.72564934,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"27","issue":null,"first_page":null,"last_page":null},"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.9969000220298767,"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.9969000220298767,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9916999936103821,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T11424","display_name":"Security and Verification in Computing","score":0.988099992275238,"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/combinatory-logic","display_name":"Combinatory logic","score":0.9530410170555115},{"id":"https://openalex.org/keywords/enumeration","display_name":"Enumeration","score":0.7747287154197693},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.6704293489456177},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5976386070251465},{"id":"https://openalex.org/keywords/tuple","display_name":"Tuple","score":0.5629047155380249},{"id":"https://openalex.org/keywords/property","display_name":"Property (philosophy)","score":0.5283843874931335},{"id":"https://openalex.org/keywords/generator","display_name":"Generator (circuit theory)","score":0.47589170932769775},{"id":"https://openalex.org/keywords/element","display_name":"Element (criminal law)","score":0.41634005308151245},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4021199345588684},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.3933570384979248},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3859564960002899},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.36374688148498535}],"concepts":[{"id":"https://openalex.org/C79678938","wikidata":"https://www.wikidata.org/wiki/Q1481571","display_name":"Combinatory logic","level":2,"score":0.9530410170555115},{"id":"https://openalex.org/C156340839","wikidata":"https://www.wikidata.org/wiki/Q2704791","display_name":"Enumeration","level":2,"score":0.7747287154197693},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.6704293489456177},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5976386070251465},{"id":"https://openalex.org/C118930307","wikidata":"https://www.wikidata.org/wiki/Q600590","display_name":"Tuple","level":2,"score":0.5629047155380249},{"id":"https://openalex.org/C189950617","wikidata":"https://www.wikidata.org/wiki/Q937228","display_name":"Property (philosophy)","level":2,"score":0.5283843874931335},{"id":"https://openalex.org/C2780992000","wikidata":"https://www.wikidata.org/wiki/Q17016113","display_name":"Generator (circuit theory)","level":3,"score":0.47589170932769775},{"id":"https://openalex.org/C200288055","wikidata":"https://www.wikidata.org/wiki/Q2621792","display_name":"Element (criminal law)","level":2,"score":0.41634005308151245},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4021199345588684},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.3933570384979248},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3859564960002899},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.36374688148498535},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"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/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"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/C163258240","wikidata":"https://www.wikidata.org/wiki/Q25342","display_name":"Power (physics)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s0956796817000107","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s0956796817000107","pdf_url":null,"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":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":20,"referenced_works":["https://openalex.org/W103523709","https://openalex.org/W1484092744","https://openalex.org/W1507441114","https://openalex.org/W1518650316","https://openalex.org/W1963572054","https://openalex.org/W1990069336","https://openalex.org/W2002934700","https://openalex.org/W2005957051","https://openalex.org/W2029976661","https://openalex.org/W2031872041","https://openalex.org/W2088975898","https://openalex.org/W2105450475","https://openalex.org/W2108750038","https://openalex.org/W2119717320","https://openalex.org/W2125126351","https://openalex.org/W2913288853","https://openalex.org/W4234122891","https://openalex.org/W4238083723","https://openalex.org/W4244488020","https://openalex.org/W6676022185"],"related_works":["https://openalex.org/W2026765907","https://openalex.org/W4307413753","https://openalex.org/W108845024","https://openalex.org/W1975604118","https://openalex.org/W119766800","https://openalex.org/W2162268423","https://openalex.org/W2313450777","https://openalex.org/W2988498873","https://openalex.org/W4242826518","https://openalex.org/W4236097997"],"abstract_inverted_index":{"Abstract":[0],"Enumerations":[1],"represented":[2],"as":[3,117],"bijections":[4],"between":[5],"the":[6,67,86,114,131,151,192,236],"natural":[7],"numbers":[8],"and":[9,26,111,173,222,228],"elements":[10,98],"of":[11,23,33,38,50,69,93,101,126,138,150,159,164,169,177,189,194],"some":[12,37,175],"given":[13],"type":[14],"have":[15,206],"recently":[16],"garnered":[17],"interest":[18],"in":[19,197],"property-based":[20,64],"testing":[21],"because":[22],"their":[24],"efficiency":[25],"flexibility.":[27],"There":[28],"are,":[29],"however,":[30],"many":[31],"ways":[32],"defining":[34],"these":[35],"bijections,":[36],"which":[39],"are":[40,60,180],"better":[41,61],"than":[42],"others.":[43],"This":[44],"paper":[45,155],"offers":[46],"a":[47,70,121,139,157,162],"new":[48,171],"property":[49],"enumeration":[51,57,92,137,160,204],"combinators":[52,58,172,179,205,232],"called":[53],"fairness":[54,168,190],"that":[55,59,145,174,202,229],"identifies":[56],"suited":[62],"to":[63,209],"testing.":[65],"Intuitively,":[66],"result":[68],"fair":[71,178,203],"combinator":[72],"indexes":[73,95],"into":[74,99,109,113,148],"its":[75,81,102],"argument":[76,152],"enumerations":[77],"equally":[78],"when":[79],"constructing":[80],"result.":[82],"For":[83],"example,":[84],"extracting":[85,130],"n":[87,132],"th":[88,133],"element":[89,134,144],"from":[90,135],"our":[91,136,170],"three-tuples":[94],"about":[96],"$\\sqrt[3]{n}$":[97],"each":[100],"components":[103],"instead":[104],"of,":[105],"say,":[106],"indexing":[107],"$\\sqrt[2]{n}$":[108],"one":[110,149],"$\\sqrt[4]{n}$":[112],"other":[115],"two,":[116],"you":[118],"would":[119],"if":[120],"three-tuple":[122],"were":[123],"built":[124],"out":[125],"nested":[127],"pairs.":[128],"Similarly,":[129],"three-way":[140],"union":[141],"returns":[142],"an":[143,187,210],"is":[146,233],"$\\frac{n}{3}$":[147],"enumerators.":[153],"The":[154],"presents":[156],"semantics":[158],"combinators,":[161],"theory":[163],"fairness,":[165],"proofs":[166],"establishing":[167],"combinations":[176],"not":[181],"fair.":[182],"We":[183,200],"also":[184],"report":[185],"on":[186,218,224],"evaluation":[188],"for":[191],"purpose":[193],"finding":[195],"bugs":[196],"programming-language":[198],"models.":[199],"show":[201],"complementary":[207],"strengths":[208],"existing,":[211],"well-tuned":[212],"ad":[213],"hoc":[214],"random":[215],"generator":[216],"(better":[217],"short":[219],"time":[220,226],"scales":[221],"worse":[223,234],"long":[225],"scales)":[227],"using":[230],"unfair":[231],"across":[235],"board.":[237]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":3},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1}],"updated_date":"2026-04-23T06:14:38.165362","created_date":"2025-10-10T00:00:00"}
