[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-505025-105":59,"doc-detail-505025-en":130},{"code":4,"msg":5,"data":6},0,"success",[7,13,18,23,28,33,38,43,48,51,55],{"id":8,"doc_module":4,"doc_module_name":9,"category_name":10,"show_sort_weight":11,"slug":12},1,"Document","Story & Novel",90,"story-novel",{"id":14,"doc_module":4,"doc_module_name":9,"category_name":15,"show_sort_weight":16,"slug":17},2,"Literature",80,"literature",{"id":19,"doc_module":4,"doc_module_name":9,"category_name":20,"show_sort_weight":21,"slug":22},4,"Exam",70,"exam",{"id":24,"doc_module":4,"doc_module_name":9,"category_name":25,"show_sort_weight":26,"slug":27},5,"Comic",60,"comic",{"id":29,"doc_module":4,"doc_module_name":9,"category_name":30,"show_sort_weight":31,"slug":32},6,"Technology",50,"technology",{"id":34,"doc_module":4,"doc_module_name":9,"category_name":35,"show_sort_weight":36,"slug":37},7,"Healthcare",40,"healthcare",{"id":39,"doc_module":4,"doc_module_name":9,"category_name":40,"show_sort_weight":41,"slug":42},8,"Research & Report",30,"research-report",{"id":44,"doc_module":4,"doc_module_name":9,"category_name":45,"show_sort_weight":46,"slug":47},9,"Religion & Spirituality",20,"religion-spirituality",{"id":46,"doc_module":4,"doc_module_name":9,"category_name":49,"show_sort_weight":46,"slug":50},"World Cup","world-cup",{"id":52,"doc_module":4,"doc_module_name":9,"category_name":53,"show_sort_weight":52,"slug":54},10,"Lifestyle","lifestyle",{"id":56,"doc_module":4,"doc_module_name":9,"category_name":57,"show_sort_weight":24,"slug":58},19,"General","general",{"code":4,"msg":60,"data":61},"ok",{"site_id":62,"language":63,"slug":64,"title":65,"keywords":66,"description":67,"schema_data":68,"social_meta":123,"head_meta":125,"extra_data":127,"updated_unix":129},105,"en","integrating-logic-rules-with-everything-else-seamlessly","Integrating Logic Rules with Everything Else, Seamlessly","","This paper presents Alda, a programming language that unifies logic rules with core language constructs such as sets, functions, updates, and objects as seamless built-ins. The design supports predicates in rules as value-carrying variables that can be used and updated across scopes, and enables queries that call an inference function either explicitly or implicitly. A formal semantics is defined and a prototype compiler is implemented on an object-oriented concurrent/distributed platform, with experimental evaluation on benchmarks across diverse application domains.",{"@graph":69,"@context":122},[70,84,105],{"@type":71,"itemListElement":72},"BreadcrumbList",[73,77,79,82],{"item":74,"name":75,"@type":76,"position":8},"https://docshare.wps.com","Home","ListItem",{"item":78,"name":9,"@type":76,"position":14},"https://docshare.wps.com/document/",{"item":80,"name":40,"@type":76,"position":81},"https://docshare.wps.com/document/research-report/",3,{"item":83,"name":65,"@type":76,"position":19},"https://docshare.wps.com/document/integrating-logic-rules-with-everything-else-seamlessly/505025/",{"url":83,"name":65,"@type":85,"image":86,"author":91,"headline":65,"publisher":94,"fileFormat":97,"inLanguage":63,"description":67,"dateModified":98,"datePublished":99,"encodingFormat":97,"isAccessibleForFree":100,"interactionStatistic":101},"DigitalDocument",{"url":87,"@type":88,"width":89,"height":90},"https://docshare.wps.com/thumbnails/integrating-logic-rules-with-everything-else-seamlessly/505025.png","ImageObject",300,407,{"name":92,"@type":93},"\tCallum ","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-10-17","2026-10-04",true,{"@type":102,"interactionType":103,"userInteractionCount":39},"InteractionCounter",{"@type":104},"ViewAction",{"@type":106,"mainEntity":107},"FAQPage",[108,114,118],{"name":109,"@type":110,"acceptedAnswer":111},"What problem does Alda aim to solve in using logic rules for application development?","Question",{"text":112,"@type":113},"Alda targets the gap where logic-rule systems are expressive but awkward to integrate with other application features, and where general-purpose languages lack direct logic-rule support without error-prone interface code.","Answer",{"name":115,"@type":110,"acceptedAnswer":116},"How does Alda represent predicates and rule-set queries?",{"text":117,"@type":113},"Alda treats predicates in rules as set-valued variables, and it uses rule-set queries as calls to an inference function to compute derived predicates from base predicates.",{"name":119,"@type":110,"acceptedAnswer":120},"How are updates handled while preserving declarative meaning?",{"text":121,"@type":113},"Predicate values can be updated directly or via the inference function, and the language maintains declarative semantics by implicitly calling the inference function so derived predicates are automatically kept consistent after base predicate updates.","https://schema.org",{"og:url":83,"og:type":124,"og:title":65,"og:site_name":95,"og:description":67},"article",{"robots":126,"canonical":83},"index,follow",{"doc_id":128,"site_id":62},505025,1791369475,{"code":4,"msg":5,"data":131},{"doc_id":128,"user_id":132,"nickname":92,"user_avatar":133,"doc_module":4,"category_id":39,"category_name":40,"doc_title":65,"doc_description":67,"doc_content":134,"file_id":135,"file_url":136,"file_type":137,"file_size":138,"view_count":39,"is_deleted":4,"is_public":8,"is_downloadable":8,"audit_status":8,"page_count":139,"language":140,"language_code":63,"site_id":62,"html_lang":63,"table_of_contents":141,"faqs":142,"seo_title":143,"seo_description":67,"update_tm":144,"read_time":145},137451211410,"https://ap-avatar.wpscdn.com/avatar/2000bb0a9246f588df?x-image-process=image/resize,m_fixed,w_180,h_180&k=1786362646172706240","Under consideration for publication in Theory and Practice of Logic Programming 1  \narXiv :2305 . 19202v1 [ cs .PL] 30 May 2023  \nIntegrating Logic Rules with Everything Else, Seamlessly  \nYANHONG A. LIU SCOTT D. STOLLER YI TONG BO LIN  \nStony Brook University, Stony Brook, NY 11794, USA  \n(e-mail: {liu, stoller,yittong,[bolin}@cs.stonybrook.edu](bolin}@cs.stonybrook.edu))  \nsubmitted February 2023; revised April 2023; accepted May 2023  \nAbstract  \nThis paper presents a language, Alda, that supports all of logic rules, sets, functions, updates, and objects as seamlessly integrated built-ins. The key idea is to support predicates in rules asset-valued variables that can be used and updated in any scope, and support queries using rules as either explicit or implicit automatic calls to an inference function. We have de􀀜ned a formal semantics of the language, implemented a prototype compiler that builds on an object-oriented language that supports concurrent and distributed programming and on an e􀀞cient logic rule system, and successfully used the language and implementation on benchmarks and problems from a wide variety of application domains. We describe the compilation method and results of experimental evaluation.  \nKEYWORDS: language design and implementation, logic rules, sets, comprehension, aggregation, quanti􀀜cation, functions, updates, objects, concurrent and distributed  \n1 Introduction  \nLogic rules are powerful for expressing complex reasoning and analysis problems, especially in critical areas such as program analysis, decision support, networking, and security (Warren and Liu 2017; Liu 2018) . However, developing application programs that use logic rules remains challenging:  \n• Powerful logic languages and systems support succinct use of logic rules for complex reasoning and analysis, but not as directly or conveniently for many other aspects of applications􀀖e.g., data aggregation, numerical computation, input/output, modular construction, and concurrency􀀖that are more easily expressed using set queries, functions, state updates, and object encapsulation (Maier et al. 2018) .  \n• At the same time, commonly-used languages for building applications support many powerful features but not logic rules, and to use a logic rule system, tedious and error-prone interface code is required􀀖to pass rules and data to the rule system, invoke operations of the rule system for answering queries, and pass the results back􀀖 manually solving an impedance mismatch, similarly as in interfaces with relational databases (Geiger 1995), making logic rules harder to use than necessary.  \nWhat’s lacking is (1) a simple and powerful language that can express application problems by directly using logic rules as well as all other features without extra interface code, and with a clear semantics for analysis as well as execution, plus (2) a compilation framework for implementing this powerful language, in a practical way by extending a  \n2 Y.A. Liu, S.D. Stoller, Y. Tong, and B. Lin  \nwidely-used programming language, and levergaing best performance of logic programming systems.  \nWe have developed such a powerful language, Alda, that combines the advantages of logic languages and commonly-used languages for building applications, by supporting direct use of all of logic rules, sets, functions, updates, and objects including concurrent and distributed processes as seamlessly integrated built-ins with no extra interfaces.  \n• Sets of rules can be speci􀀜ed directly as other de􀀜nitions can, where predicates in rules are simply set-valued variables holding the set of tuples for which the predicate is true. Thus, predicates can be used directly as set-valued variables and vice versa without needing any extra interface, and predicates being set-valued variables are completely di􀀛erent from functions or procedures, unlike in prior logic rule languages and extensions.  \n• Queries using rule sets are calls to an inference function that computes desired","cbCaic2yXcBy1oiY","https://ap.wps.com/l/cbCaic2yXcBy1oiY","pdf",455807,33,"English","# Abstract\n# Introduction\n## Logic rules vs application-language features\n## Lack of a unified language and compilation framework\n# Alda language design\n## Set-valued rule predicates\n## Rule-set queries as inference-function calls\n## Updates and implicit maintenance of derived predicates\n## Predicates and rule sets as object attributes\n# Formal semantics and integration\n# Compilation framework and performance evaluation","[{\"question\":\"What problem does Alda aim to solve in using logic rules for application development?\",\"answer\":\"Alda targets the gap where logic-rule systems are expressive but awkward to integrate with other application features, and where general-purpose languages lack direct logic-rule support without error-prone interface code.\"},{\"question\":\"How does Alda represent predicates and rule-set queries?\",\"answer\":\"Alda treats predicates in rules as set-valued variables, and it uses rule-set queries as calls to an inference function to compute derived predicates from base predicates.\"},{\"question\":\"How are updates handled while preserving declarative meaning?\",\"answer\":\"Predicate values can be updated directly or via the inference function, and the language maintains declarative semantics by implicitly calling the inference function so derived predicates are automatically kept consistent after base predicate updates.\"}]","Integrating Logic Rules with Everything Else, Seamlessly | PDF",1791086518,83]