{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,1,12]],"date-time":"2023-01-12T23:29:51Z","timestamp":1673566191412},"reference-count":0,"publisher":"Cambridge University Press (CUP)","issue":"2","license":[{"start":{"date-parts":[[2003,3,10]],"date-time":"2003-03-10T00:00:00Z","timestamp":1047254400000},"content-version":"unspecified","delay-in-days":9,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Theory and Practice of Logic Programming"],"published-print":{"date-parts":[[2003,3]]},"abstract":"<jats:p>Constructor-Based Conditional Rewriting Logic is a general framework for integrating \nfirst-order functional and logic programming which gives an algebraic semantics for nondeterministic \nfunctional-logic programs. In the context of this formalism, we introduce a \nsimple notion of program module as an open program which can be extended together \nwith several mechanisms to combine them. These mechanisms are based on a reduced set of \noperations. However, the high expressiveness of these operations enable us to model typical \nconstructs for program modularization like hiding, export\/import, genericity\/instantiation, \nand inheritance in a simple way. We also deal with the semantic aspects of the proposal by \nintroducing an immediate consequence operator, and studying several alternative semantics \nfor a program module, based on this operator, in the line of logic programming: the operator \nitself, its least fixpoint (the least model of the module), the set of its pre-fixpoints (term \nmodels of the module), and some other variations in order to find a compositional and fully \nabstract semantics w.r.t. the set of operations and a natural notion of observability.<\/jats:p>","DOI":"10.1017\/s1471068402001527","type":"journal-article","created":{"date-parts":[[2003,3,17]],"date-time":"2003-03-17T11:58:48Z","timestamp":1047902328000},"page":"189-221","source":"Crossref","is-referenced-by-count":2,"title":["Composing programs in a rewriting logic for \ndeclarative programming"],"prefix":"10.1017","volume":"3","author":[{"given":"J. M.","family":"MOLINA-BRAVO","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"E.","family":"PIMENTEL","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"56","published-online":{"date-parts":[[2003,3,10]]},"container-title":["Theory and Practice of Logic Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S1471068402001527","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,3,31]],"date-time":"2019-03-31T18:53:26Z","timestamp":1554058406000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S1471068402001527\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2003,3]]},"references-count":0,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2003,3]]}},"alternative-id":["S1471068402001527"],"URL":"https:\/\/doi.org\/10.1017\/s1471068402001527","relation":{},"ISSN":["1471-0684","1475-3081"],"issn-type":[{"value":"1471-0684","type":"print"},{"value":"1475-3081","type":"electronic"}],"subject":[],"published":{"date-parts":[[2003,3]]}}}