Papers by JAIME SANCHEZ HERNANDEZ
The relational database language SQL:1999 standard supports recursion, but this approach is limit... more The relational database language SQL:1999 standard supports recursion, but this approach is limited to the linear case. Moreover, mutual recursion is not supported, and negation cannot be combined with recursion. We designed the language R-SQL to overcome these limitations, improving termination properties in recursive definitions. In addition we developed a proof of concept implementation of an R-SQL system. In this paper we describe in detail an improved system enhancing performance. It can be integrated into existing RDBMS's, extending them with the aforementioned benefits of R-SQL. The system processes an R-SQL database definition obtaining its extension in tables of an RDBMS (such as PostgreSQL and DB2). It is implemented in SWI-Prolog and it produces a Python script that, upon execution, computes the result of the R-SQL relations. We provide some performance results showing the efficiency gains w.r.t. the previous version. We also include a comparative analysis including ...
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation - PEPM '09, 2008
Abstract The possibility of non-deterministic reductions is a distinctive feature of some declara... more Abstract The possibility of non-deterministic reductions is a distinctive feature of some declarative languages. Two semantics commonly adopted for non-determinism are call-time choice--a notion that at the operational level is related to the sharing mechanism of lazy ...
Lecture Notes in Computer Science, 1999
Computing Research Repository, 2009
The use of non-deterministic functions is a distinctive feature of modern functional logic langua... more The use of non-deterministic functions is a distinctive feature of modern functional logic languages. The semantics commonly adopted is call-time choice, a notion that at the operational level is related to the sharing mechanism of lazy evaluation in functional languages. However, there are situations where run-time choice, closer to ordinary rewriting, is more appropriate. In this paper we propose an
Functional-logic programming amalgamates some of the main features of both functional and logic s... more Functional-logic programming amalgamates some of the main features of both functional and logic styles into a single paradigm. Nevertheless, negation is a widely investigated feature in logic programming that has not received much attention in such programming style. It is not difficult to incorporate some kind of negation as finite failure for ground goals, but we are interested in a constructive version able to deal with non-ground goals. With this aim, in previous works we have built a formal framework for checking (finite) failure of reduction. In this paper we adapt it for im- plementing a prototype for a functional-logic language with constructive failure as the natural counterpart to negation in logic programming.
Theory and Practice of Logic Programming, 2004
Uploads
Papers by JAIME SANCHEZ HERNANDEZ