Relations and graphs: discrete mathematics for computer scientists
Relations and graphs: discrete mathematics for computer scientists
Deriving structural hylomorphisms from recursive definitions
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Algebra of programming
A unified computation model for functional and logic programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Communications of the ACM
TOY: A Multiparadigm Declarative System
RtA '99 Proceedings of the 10th International Conference on Rewriting Techniques and Applications
A logic programming approach to the verification of functional-logic programs
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
A simple rewrite notion for call-time choice semantics
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Automated Reasoning in Kleene Algebra
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Declarative programming with function patterns
LOPSTR'05 Proceedings of the 15th international conference on Logic Based Program Synthesis and Transformation
A framework for point-free program transformation
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
A functional approach to worst-case execution time analysis
WFLP'11 Proceedings of the 20th international conference on Functional and constraint logic programming
Hi-index | 0.00 |
It has often been observed that a point-free styleof programming provides a more abstract view on programs. We aim to use the gain in abstraction to obtain a denotational semantics for functional logic languagesin a straightforward way. Here we propose a set of basic operations based on which arbitrary functional logic programs can be transformed to point-free programs. The semantics of the resulting programs are strict but, nevertheless, the semantics of the original program is preserved.There is a one-to-one mapping from the primitives introduced by the transformation to operations in relation algebra. This mapping can be extended to obtain a relation algebraic model for the whole program. This yields a denotational semantics which is on one hand closely related to point-free functional logic programs and on the other hand connects to the well-developed field of algebraic logic including automatic proving.