{"id":"https://openalex.org/W4297858853","doi":"https://doi.org/10.1145/3551357.3551370","title":"A Monadic Implementation of Functional Logic Programs","display_name":"A Monadic Implementation of Functional Logic Programs","publication_year":2022,"publication_date":"2022-09-20","ids":{"openalex":"https://openalex.org/W4297858853","doi":"https://doi.org/10.1145/3551357.3551370"},"language":"en","primary_location":{"id":"doi:10.1145/3551357.3551370","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3551357.3551370","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 24th International Symposium on Principles and Practice of Declarative 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/A5024421847","display_name":"Michael Hanus","orcid":"https://orcid.org/0000-0002-4953-8202"},"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":true,"raw_author_name":"Michael Hanus","raw_affiliation_strings":["Institut f\u00fcr Informatik, Kiel University, Germany"],"affiliations":[{"raw_affiliation_string":"Institut f\u00fcr Informatik, Kiel University, Germany","institution_ids":["https://openalex.org/I32021983"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5007853080","display_name":"Kai-Oliver Prott","orcid":"https://orcid.org/0000-0002-5795-6308"},"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":"Kai-Oliver Prott","raw_affiliation_strings":["Institut f\u00fcr Informatik, Kiel University, Germany"],"affiliations":[{"raw_affiliation_string":"Institut f\u00fcr Informatik, Kiel University, Germany","institution_ids":["https://openalex.org/I32021983"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5048555021","display_name":"Finn Teegen","orcid":"https://orcid.org/0000-0002-7905-3804"},"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":"Finn Teegen","raw_affiliation_strings":["Institut f\u00fcr Informatik, Kiel University, Germany"],"affiliations":[{"raw_affiliation_string":"Institut f\u00fcr Informatik, Kiel University, Germany","institution_ids":["https://openalex.org/I32021983"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5024421847"],"corresponding_institution_ids":["https://openalex.org/I32021983"],"apc_list":null,"apc_paid":null,"fwci":0.5303,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.71061892,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"15"},"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.9991999864578247,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9972000122070312,"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.8479583263397217},{"id":"https://openalex.org/keywords/memoization","display_name":"Memoization","score":0.7849156856536865},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.7711175084114075},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.695655345916748},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.5757191777229309},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.5657495856285095},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5432026386260986},{"id":"https://openalex.org/keywords/logic-programming","display_name":"Logic programming","score":0.5317184925079346},{"id":"https://openalex.org/keywords/declarative-programming","display_name":"Declarative programming","score":0.5081398487091064},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.4895061254501343},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.4661240577697754},{"id":"https://openalex.org/keywords/functional-logic-programming","display_name":"Functional logic programming","score":0.41927963495254517},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.4166436791419983},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3853972554206848},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.3772110641002655},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.24818062782287598}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8479583263397217},{"id":"https://openalex.org/C79516417","wikidata":"https://www.wikidata.org/wiki/Q1376168","display_name":"Memoization","level":4,"score":0.7849156856536865},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.7711175084114075},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.695655345916748},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.5757191777229309},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.5657495856285095},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5432026386260986},{"id":"https://openalex.org/C128838566","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic programming","level":2,"score":0.5317184925079346},{"id":"https://openalex.org/C146206909","wikidata":"https://www.wikidata.org/wiki/Q531152","display_name":"Declarative programming","level":4,"score":0.5081398487091064},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.4895061254501343},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.4661240577697754},{"id":"https://openalex.org/C96315309","wikidata":"https://www.wikidata.org/wiki/Q5508829","display_name":"Functional logic programming","level":4,"score":0.41927963495254517},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.4166436791419983},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3853972554206848},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.3772110641002655},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.24818062782287598},{"id":"https://openalex.org/C42560504","wikidata":"https://www.wikidata.org/wiki/Q15419395","display_name":"Top-down parsing","level":3,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3551357.3551370","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3551357.3551370","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 24th International Symposium on Principles and Practice of Declarative Programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":40,"referenced_works":["https://openalex.org/W68427271","https://openalex.org/W1510628702","https://openalex.org/W1522154830","https://openalex.org/W1541434994","https://openalex.org/W1605586974","https://openalex.org/W1605638241","https://openalex.org/W1650673748","https://openalex.org/W1973600615","https://openalex.org/W1980781982","https://openalex.org/W1992085465","https://openalex.org/W2019920019","https://openalex.org/W2038651921","https://openalex.org/W2048748607","https://openalex.org/W2063521547","https://openalex.org/W2086127849","https://openalex.org/W2087404516","https://openalex.org/W2090337950","https://openalex.org/W2100738443","https://openalex.org/W2104980999","https://openalex.org/W2106602483","https://openalex.org/W2112087718","https://openalex.org/W2118172707","https://openalex.org/W2118499864","https://openalex.org/W2127844749","https://openalex.org/W2149935768","https://openalex.org/W2168144301","https://openalex.org/W2169402190","https://openalex.org/W2295914203","https://openalex.org/W2483116820","https://openalex.org/W2594755931","https://openalex.org/W2681883877","https://openalex.org/W2963257332","https://openalex.org/W3099367794","https://openalex.org/W3102193943","https://openalex.org/W3163744131","https://openalex.org/W3195140243","https://openalex.org/W3205648430","https://openalex.org/W3206622374","https://openalex.org/W4230919050","https://openalex.org/W4236308343"],"related_works":["https://openalex.org/W4239436350","https://openalex.org/W1794229347","https://openalex.org/W2106957639","https://openalex.org/W2886887129","https://openalex.org/W2175256523","https://openalex.org/W1505955281","https://openalex.org/W110431630","https://openalex.org/W76463376","https://openalex.org/W2484308627","https://openalex.org/W1491259492"],"abstract_inverted_index":{"Functional":[0],"logic":[1,51,165],"languages":[2],"are":[3,58],"a":[4,79,84,117,148,157,168,197],"high-level":[5],"approach":[6,195],"to":[7,75,86,124,159],"programming":[8,45,52,150],"by":[9,37,115,162],"combining":[10],"the":[11,28,65,69,76,87,104,125,182],"most":[12],"important":[13],"declarative":[14],"features.":[15],"They":[16],"abstract":[17],"from":[18,43,50,67],"small-step":[19],"operational":[20,73],"details":[21],"so":[22,53],"that":[23,54,193,200],"programmers":[24],"can":[25],"concentrate":[26],"on":[27],"logical":[29],"aspects":[30],"of":[31,71,78,98,119,121,181],"an":[32,72,99,179],"application.":[33],"This":[34,63,154],"is":[35,46,83,174],"supported":[36,146],"appropriate":[38],"evaluation":[39,42],"strategies.":[40],"Demand-driven":[41],"functional":[44,149,164],"amalgamated":[47],"with":[48],"non-determinism":[49],"solutions":[55],"or":[56],"values":[57],"computed":[59],"whenever":[60],"they":[61],"exist.":[62],"frees":[64],"programmer":[66],"considering":[68],"influence":[70],"strategy":[74,93],"success":[77],"computation":[80],"but":[81],"it":[82,138],"challenge":[85,161],"language":[88],"implementer.":[89],"A":[90],"non-deterministic":[91,122,189],"demand-driven":[92],"might":[94],"duplicate":[95,103],"unevaluated":[96],"choices":[97,123],"expression":[100,126],"which":[101,185],"could":[102,143],"computational":[105],"efforts.":[106],"In":[107],"recent":[108],"implementations,":[109],"this":[110,130,142,160,172],"problem":[111],"has":[112,131],"been":[113,132],"tackled":[114],"adding":[116],"kind":[118],"memoization":[120,187],"under":[127],"evaluation.":[128],"Since":[129],"implemented":[133],"in":[134,147,188],"imperative":[135],"target":[136],"languages,":[137],"was":[139],"unclear":[140],"whether":[141],"also":[144],"be":[145],"environment,":[151],"like":[152],"Haskell.":[153],"paper":[155],"presents":[156],"solution":[158],"transforming":[163],"programs":[166],"into":[167],"monadic":[169,183],"representation.":[170],"Although":[171],"transformation":[173],"not":[175],"new,":[176],"we":[177],"present":[178],"implementation":[180],"interface":[184],"supports":[186],"branches.":[190],"We":[191],"demonstrate":[192],"our":[194],"yields":[196],"promising":[198],"performance":[199],"outperforms":[201],"current":[202],"compilers":[203],"for":[204],"Curry.":[205]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2}],"updated_date":"2025-12-14T23:10:33.342130","created_date":"2025-10-10T00:00:00"}
