{"id":"https://openalex.org/W2515185299","doi":"https://doi.org/10.1145/2951913.2951949","title":"All sorts of permutations (functional pearl)","display_name":"All sorts of permutations (functional pearl)","publication_year":2016,"publication_date":"2016-08-29","ids":{"openalex":"https://openalex.org/W2515185299","doi":"https://doi.org/10.1145/2951913.2951949","mag":"2515185299"},"language":"en","primary_location":{"id":"doi:10.1145/2951913.2951949","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2951913.2951949","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 21st ACM SIGPLAN International Conference on Functional 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/A5072211931","display_name":"Jan Christiansen","orcid":"https://orcid.org/0000-0003-4911-8459"},"institutions":[{"id":"https://openalex.org/I88713005","display_name":"Flensburg University of Applied Sciences","ror":"https://ror.org/01xpfrc74","country_code":"DE","type":"education","lineage":["https://openalex.org/I88713005"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Jan Christiansen","raw_affiliation_strings":["Flensburg University of Applied Sciences, Germany"],"affiliations":[{"raw_affiliation_string":"Flensburg University of Applied Sciences, Germany","institution_ids":["https://openalex.org/I88713005"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5065697535","display_name":"Nikita Danilenko","orcid":null},"institutions":[{"id":"https://openalex.org/I32021983","display_name":"Kiel University","ror":"https://ror.org/04v76ef78","country_code":"DE","type":"education","lineage":["https://openalex.org/I32021983"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Nikita Danilenko","raw_affiliation_strings":["University of Kiel, Germany"],"affiliations":[{"raw_affiliation_string":"University of Kiel, Germany","institution_ids":["https://openalex.org/I32021983"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5056696469","display_name":"Sandra Dylus","orcid":"https://orcid.org/0000-0003-3606-4543"},"institutions":[{"id":"https://openalex.org/I32021983","display_name":"Kiel University","ror":"https://ror.org/04v76ef78","country_code":"DE","type":"education","lineage":["https://openalex.org/I32021983"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Sandra Dylus","raw_affiliation_strings":["University of Kiel, Germany"],"affiliations":[{"raw_affiliation_string":"University of Kiel, Germany","institution_ids":["https://openalex.org/I32021983"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5072211931"],"corresponding_institution_ids":["https://openalex.org/I88713005"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.05297765,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"168","last_page":"179"},"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.9995999932289124,"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.9995999932289124,"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/T11567","display_name":"semigroups and automata theory","score":0.9994000196456909,"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/T10948","display_name":"Advanced Combinatorial Mathematics","score":0.9958999752998352,"subfield":{"id":"https://openalex.org/subfields/2607","display_name":"Discrete Mathematics and Combinatorics"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/sorting","display_name":"Sorting","score":0.7436940670013428},{"id":"https://openalex.org/keywords/permutation","display_name":"Permutation (music)","score":0.7404895424842834},{"id":"https://openalex.org/keywords/sort","display_name":"sort","score":0.6715648174285889},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6183614730834961},{"id":"https://openalex.org/keywords/sorting-algorithm","display_name":"Sorting algorithm","score":0.615749180316925},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4929344654083252},{"id":"https://openalex.org/keywords/determinism","display_name":"Determinism","score":0.4727645516395569},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.4625301957130432},{"id":"https://openalex.org/keywords/predicate","display_name":"Predicate (mathematical logic)","score":0.4370957314968109},{"id":"https://openalex.org/keywords/pearl","display_name":"Pearl","score":0.4352220892906189},{"id":"https://openalex.org/keywords/sorting-network","display_name":"Sorting network","score":0.4313493072986603},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.43106138706207275},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.32837969064712524},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.31160789728164673},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.08159676194190979}],"concepts":[{"id":"https://openalex.org/C111696304","wikidata":"https://www.wikidata.org/wiki/Q2303697","display_name":"Sorting","level":2,"score":0.7436940670013428},{"id":"https://openalex.org/C21308566","wikidata":"https://www.wikidata.org/wiki/Q7169365","display_name":"Permutation (music)","level":2,"score":0.7404895424842834},{"id":"https://openalex.org/C88548561","wikidata":"https://www.wikidata.org/wiki/Q347599","display_name":"sort","level":2,"score":0.6715648174285889},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6183614730834961},{"id":"https://openalex.org/C108094655","wikidata":"https://www.wikidata.org/wiki/Q181593","display_name":"Sorting algorithm","level":3,"score":0.615749180316925},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4929344654083252},{"id":"https://openalex.org/C192183473","wikidata":"https://www.wikidata.org/wiki/Q131133","display_name":"Determinism","level":2,"score":0.4727645516395569},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.4625301957130432},{"id":"https://openalex.org/C140146324","wikidata":"https://www.wikidata.org/wiki/Q1144319","display_name":"Predicate (mathematical logic)","level":2,"score":0.4370957314968109},{"id":"https://openalex.org/C2779251273","wikidata":"https://www.wikidata.org/wiki/Q43436","display_name":"Pearl","level":2,"score":0.4352220892906189},{"id":"https://openalex.org/C64540648","wikidata":"https://www.wikidata.org/wiki/Q646477","display_name":"Sorting network","level":4,"score":0.4313493072986603},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.43106138706207275},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.32837969064712524},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.31160789728164673},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.08159676194190979},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"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/C27206212","wikidata":"https://www.wikidata.org/wiki/Q34178","display_name":"Theology","level":1,"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/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","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/C24890656","wikidata":"https://www.wikidata.org/wiki/Q82811","display_name":"Acoustics","level":1,"score":0.0},{"id":"https://openalex.org/C23123220","wikidata":"https://www.wikidata.org/wiki/Q816826","display_name":"Information retrieval","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2951913.2951949","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2951913.2951949","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":9,"referenced_works":["https://openalex.org/W1880050370","https://openalex.org/W1971619037","https://openalex.org/W1993749868","https://openalex.org/W2021982406","https://openalex.org/W2057292961","https://openalex.org/W2059799630","https://openalex.org/W2141576692","https://openalex.org/W4239639755","https://openalex.org/W4239720440"],"related_works":["https://openalex.org/W2396743875","https://openalex.org/W2094179388","https://openalex.org/W2126436988","https://openalex.org/W2369900172","https://openalex.org/W2969248556","https://openalex.org/W2155323732","https://openalex.org/W1581872756","https://openalex.org/W4242674639","https://openalex.org/W2325315917","https://openalex.org/W241684218"],"abstract_inverted_index":{"The":[0],"combination":[1,35],"of":[2,36,62,71,74,87,93,117,131],"non-determinism":[3,37],"and":[4,22,38,78,97],"sorting":[5,13,21,39,46,76,106],"is":[6,16],"mostly":[7],"associated":[8],"with":[9],"permutation":[10,112],"sort,":[11],"a":[12,41,45,52,57,99,132],"algorithm":[14],"that":[15,59,102],"not":[17],"very":[18],"useful":[19],"for":[20],"has":[23],"an":[24],"awful":[25],"running":[26],"time.":[27],"In":[28],"this":[29],"paper":[30],"we":[31,48,95,108],"look":[32],"at":[33],"the":[34,63,69,75,88,110,118,129,137],"in":[40,80],"different":[42],"light:":[43],"given":[44],"function,":[47],"apply":[49],"it":[50],"to":[51,55,68,135],"non-deterministic":[53],"predicate":[54],"gain":[56],"function":[58,107,113,133],"enumerates":[60,114],"permutations":[61,116],"input":[64,119],"list.":[65,120],"We":[66,121],"get":[67],"bottom":[70],"necessary":[72],"properties":[73],"algorithms":[77],"predicates":[79],"play":[81],"as":[82,84],"well":[83],"discuss":[85],"variations":[86],"modelled":[89],"non-determinism.":[90],"On":[91],"top":[92],"that,":[94],"formulate":[96],"prove":[98,136],"theorem":[100],"stating":[101],"no":[103],"matter":[104],"which":[105,125],"use,":[109],"corresponding":[111],"all":[115],"use":[122],"free":[123],"theorems,":[124],"are":[126],"derived":[127],"from":[128],"type":[130],"alone,":[134],"statement.":[138]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2020,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
