Rodríguez Hortalá, Juan2023-06-202023-06-202008-05-12https://hdl.handle.net/20.500.14352/53980Ciclo de conferencias de la Facultad de Informática 2007/2008 , coordinado por Francisco Javier López FraguasNon-confluent and non-terminating rewrite systems are interesting from the point of view of programming. In particular, existing functional logic languages use such kind of rewrite systems to define possibly non-strict non-deterministic functions. The semantics adopted for non-determinism is call-time choice, whose combination with non-strictness is not a trivial issue that has been addressed from a semantic point of view in the Constructor-based Rewriting Logic (CRWL) framework. In a recent serie of works we have investigated how to express call-time choice and non-strict semantics from a point of view closer to classical rewriting. We propose a notion of rewriting which uses an explicit representation for sharing with let-constructions and is proved to be equivalent to the CRWL approach. During this talk we will address the following issues: - We will briefly review some of the main existing approaches for describing the semantics of functional logic languages: CRWL, traditional rewriting and Curry’s à la Launchbury operational semantics. - We will present the let-rewriting relation for first order functional logic programs, and its semantic equivalence with CRWL logic. - We will discuss the relation between all these semantic approaches, and present some technicall results concerning this relations. - We will see some interesting properties of the combined framework CRWL/letrewriting, and show by a case study (correctness of bubbling) the usefulness of the achieved combination of semantic and reduction notions. - We will extend our let-rewriting relation providing a notion of let-narrowing which is adequate for call-time choice as proved by soundness and completeness results of let-narrowing with respect to let-rewriting. Completeness is based on a lifting lemma for let-rewriting similar to Hullot’s lifting lemma for ordinary rewriting and narrowing. 1Rewriting and call-time choiceconference outputhttp://complumedia.ucm.es/resultados.php?contenido=saZOi43EUit_V_yMCpcxpA==metadata only access004.42.048(042.3)(086.8)004.432.42(042.3)(086.8)519.767:004.43(042.3)(086.8)Programación declarativaSemántica de Lenguajes de programaciónLenguajes de programación lógico funcionalessistemas de reescrituraDeclarative programmingSemantics of the programming languagesConstructor-based Rewriting LogicCRWLLogica functional Programming LanguagesRewriting systemsLenguajes de programaciónProgramación de ordenadores (Informática)1203.23 Lenguajes de Programación1203.23 Lenguajes de Programación