{"id":"https://openalex.org/W4297858271","doi":"https://doi.org/10.1145/3551357.3551379","title":"A Predicate Construct for Declarative Programming in Imperative Languages","display_name":"A Predicate Construct for Declarative Programming in Imperative Languages","publication_year":2022,"publication_date":"2022-09-20","ids":{"openalex":"https://openalex.org/W4297858271","doi":"https://doi.org/10.1145/3551357.3551379"},"language":"en","primary_location":{"id":"doi:10.1145/3551357.3551379","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3551357.3551379","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/A5067274433","display_name":"James F. Smith","orcid":"https://orcid.org/0009-0009-1704-5778"},"institutions":[{"id":"https://openalex.org/I55732556","display_name":"Arizona State University","ror":"https://ror.org/03efmqc40","country_code":"US","type":"education","lineage":["https://openalex.org/I55732556"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"James Smith","raw_affiliation_strings":["Arizona State University, United States"],"affiliations":[{"raw_affiliation_string":"Arizona State University, United States","institution_ids":["https://openalex.org/I55732556"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101782723","display_name":"Xiangyu Guo","orcid":"https://orcid.org/0000-0001-8120-2365"},"institutions":[{"id":"https://openalex.org/I55732556","display_name":"Arizona State University","ror":"https://ror.org/03efmqc40","country_code":"US","type":"education","lineage":["https://openalex.org/I55732556"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Xiangyu Guo","raw_affiliation_strings":["Arizona State University, United States"],"affiliations":[{"raw_affiliation_string":"Arizona State University, United States","institution_ids":["https://openalex.org/I55732556"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5001364620","display_name":"Ajay Bansal","orcid":"https://orcid.org/0000-0001-8639-5813"},"institutions":[{"id":"https://openalex.org/I55732556","display_name":"Arizona State University","ror":"https://ror.org/03efmqc40","country_code":"US","type":"education","lineage":["https://openalex.org/I55732556"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ajay Bansal","raw_affiliation_strings":["Arizona State University, United States"],"affiliations":[{"raw_affiliation_string":"Arizona State University, United States","institution_ids":["https://openalex.org/I55732556"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5067274433"],"corresponding_institution_ids":["https://openalex.org/I55732556"],"apc_list":null,"apc_paid":null,"fwci":0.1326,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.53205413,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"13"},"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9998000264167786,"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.9977999925613403,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/fifth-generation-programming-language","display_name":"Fifth-generation programming language","score":0.8078750371932983},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7926462888717651},{"id":"https://openalex.org/keywords/declarative-programming","display_name":"Declarative programming","score":0.741521954536438},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7346420288085938},{"id":"https://openalex.org/keywords/functional-logic-programming","display_name":"Functional logic programming","score":0.6680454015731812},{"id":"https://openalex.org/keywords/prolog","display_name":"Prolog","score":0.6298708915710449},{"id":"https://openalex.org/keywords/logic-programming","display_name":"Logic programming","score":0.6211926937103271},{"id":"https://openalex.org/keywords/comparison-of-multi-paradigm-programming-languages","display_name":"Comparison of multi-paradigm programming languages","score":0.577422022819519},{"id":"https://openalex.org/keywords/second-generation-programming-language","display_name":"Second-generation programming language","score":0.5569230318069458},{"id":"https://openalex.org/keywords/constraint-programming","display_name":"Constraint programming","score":0.5401344299316406},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.5390239953994751},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.4842626750469208},{"id":"https://openalex.org/keywords/procedural-programming","display_name":"Procedural programming","score":0.4691079258918762},{"id":"https://openalex.org/keywords/third-generation-programming-language","display_name":"Third-generation programming language","score":0.46655601263046265},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.11895912885665894}],"concepts":[{"id":"https://openalex.org/C199305712","wikidata":"https://www.wikidata.org/wiki/Q3205914","display_name":"Fifth-generation programming language","level":3,"score":0.8078750371932983},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7926462888717651},{"id":"https://openalex.org/C146206909","wikidata":"https://www.wikidata.org/wiki/Q531152","display_name":"Declarative programming","level":4,"score":0.741521954536438},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7346420288085938},{"id":"https://openalex.org/C96315309","wikidata":"https://www.wikidata.org/wiki/Q5508829","display_name":"Functional logic programming","level":4,"score":0.6680454015731812},{"id":"https://openalex.org/C81721847","wikidata":"https://www.wikidata.org/wiki/Q163468","display_name":"Prolog","level":2,"score":0.6298708915710449},{"id":"https://openalex.org/C128838566","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic programming","level":2,"score":0.6211926937103271},{"id":"https://openalex.org/C74149592","wikidata":"https://www.wikidata.org/wiki/Q762446","display_name":"Comparison of multi-paradigm programming languages","level":5,"score":0.577422022819519},{"id":"https://openalex.org/C11164408","wikidata":"https://www.wikidata.org/wiki/Q18657800","display_name":"Second-generation programming language","level":4,"score":0.5569230318069458},{"id":"https://openalex.org/C173404611","wikidata":"https://www.wikidata.org/wiki/Q528588","display_name":"Constraint programming","level":3,"score":0.5401344299316406},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.5390239953994751},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.4842626750469208},{"id":"https://openalex.org/C120558287","wikidata":"https://www.wikidata.org/wiki/Q1418502","display_name":"Procedural programming","level":4,"score":0.4691079258918762},{"id":"https://openalex.org/C206146517","wikidata":"https://www.wikidata.org/wiki/Q1294375","display_name":"Third-generation programming language","level":5,"score":0.46655601263046265},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.11895912885665894},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C137631369","wikidata":"https://www.wikidata.org/wiki/Q7617831","display_name":"Stochastic programming","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3551357.3551379","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3551357.3551379","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":[{"id":"https://metadata.un.org/sdg/4","score":0.7300000190734863,"display_name":"Quality Education"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":15,"referenced_works":["https://openalex.org/W1480909796","https://openalex.org/W1520085989","https://openalex.org/W1664582451","https://openalex.org/W1989482765","https://openalex.org/W2046881171","https://openalex.org/W2122866233","https://openalex.org/W2130881291","https://openalex.org/W2143382644","https://openalex.org/W2169015609","https://openalex.org/W2911601159","https://openalex.org/W2949190809","https://openalex.org/W3047416549","https://openalex.org/W4211058158","https://openalex.org/W4214924106","https://openalex.org/W4246338960"],"related_works":["https://openalex.org/W2089642402","https://openalex.org/W2348463574","https://openalex.org/W4239436350","https://openalex.org/W2161156675","https://openalex.org/W2108000406","https://openalex.org/W2264335287","https://openalex.org/W4244888611","https://openalex.org/W4205997139","https://openalex.org/W1600568876","https://openalex.org/W822315591"],"abstract_inverted_index":{"Imperative":[0],"and":[1,88,104,124],"object-oriented":[2],"programming":[3,75],"languages":[4,10,15,44,94],"are":[5,29,120],"among":[6],"the":[7,60,66,98,107],"most":[8,25,105],"common":[9,21],"for":[11,18,24,48],"general-purpose":[12,102],"programming.":[13,128],"These":[14],"work":[16],"well":[17,47],"handling":[19],"many":[20,31,50,117],"tasks":[22],"necessary":[23],"applications.":[26],"However,":[27],"there":[28],"still":[30,121],"hard":[32],"problems":[33,53,108],"that":[34,58],"remain":[35],"difficult":[36],"to":[37,62],"implement":[38],"directly":[39],"in":[40,82,101,114],"imperative":[41,118],"languages.":[42],"Declarative":[43],"have":[45,79,95],"worked":[46],"solving":[49],"of":[51,106,126],"these":[52,93],"by":[54],"providing":[55],"a":[56],"syntax":[57],"allows":[59],"user":[61],"focus":[63],"on":[64,70],"modeling":[65],"problem":[67],"rather":[68],"than":[69],"designing":[71],"an":[72],"algorithm.":[73],"Logic":[74],"languages,":[76],"like":[77],"Prolog,":[78],"seen":[80,97],"success":[81,100],"constraint":[83],"satisfaction":[84],"problems,":[85],"logical":[86],"databases,":[87],"various":[89],"NP-Hard":[90],"problems.":[91],"Unfortunately,":[92],"not":[96,112],"same":[99],"programming,":[103],"they":[109],"solve":[110],"do":[111],"exist":[113],"isolation.":[115],"Furthermore,":[116],"programmers":[119],"unfamiliar":[122],"with":[123],"unaware":[125],"logic":[127]},"counts_by_year":[{"year":2024,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
